Initial work on grouping by tfm and generate applies to ref doc

This commit is contained in:
Morten Nielsen 2021-03-15 15:20:48 -07:00
parent 9a6940b84d
commit c67e759cdd
7 changed files with 451 additions and 37 deletions

View file

@ -22,8 +22,13 @@ mkdir %~dp0../artifacts/docs/api
%~dp0..\.tools\nuget install memberpage -Version 2.56.7 -OutputDirectory %~dp0
REM Build the output site (HTML) from the generated metadata and input files (uses configuration in docfx.json in this folder)
%DocFxFolder%\v%DocFXVersion%\docfx.exe %~dp0\docfx.json
ECHO Fixing API Reference Links
powershell -ExecutionPolicy ByPass -command "%~dp0FixApiRefLinks.ps1" -Path %~dp0..\artifacts\docs_site\api\
%DocFxFolder%\v%DocFXVersion%\docfx.exe metadata %~dp0\docfx.json
REM Build applies-to version/framework info
dotnet build AppliesToGenerator\DocFXAppliesToGenerator.csproj
AppliesToGenerator\bin\Debug\netcoreapp3.1\DocFXAppliesToGenerator.exe appliesToList.json
REM TODO: Fix toc/yaml
%DocFxFolder%\v%DocFXVersion%\docfx.exe build %~dp0\docfx.json
start http://localhost:8080
%DocFxFolder%\v%DocFXVersion%\docfx.exe serve %~dp0..\artifacts\docs_site\

View file

@ -2,17 +2,17 @@
**Select your platform:**
- [.NET Standard API Reference](netstd/index.md)
- [.NET Standard API Reference](netstd/index.html)
- [.NET Framework API Reference](netfx/index.md)
- [.NET Framework API Reference](netfx/index.html)
- [.NET Core API Reference](netcore/index.md)
- [.NET Core API Reference](netcore/index.html)
- [UWP API Reference](uwp/index.md)
- [UWP API Reference](uwp/index.html)
- [Android API Reference](android/index.md)
- [Android API Reference](android/index.html)
- [iOS API Reference](ios/index.md)
- [iOS API Reference](ios/index.html)
### Object model diagrams
Click below to see the full object model diagram:

18
docs/api/toc.yml Normal file
View file

@ -0,0 +1,18 @@
- name: API Reference
- name: NmeaParser
items:
- name: .NET Standard
href: netstd/index.html
- name: .NET Core
href: netcore/index.html
- name: .NET Framework
href: netfx/index.html
- name: Windows Universal
href: uwp/index.html
- name: Xamarin.Android
href: android/index.html
- name: Xamarin.iOS
href: ios/index.html
- name: Object Model Diagram
href: omd.html

View file

@ -6,84 +6,146 @@
"files": [ "NmeaParser/NmeaParser.csproj" ],
"src" : "../src/"
},
],
],
"group": "netstandard1.4",
"dest": "../artifacts/docs/api/netstd",
"properties": { "TargetFramework": "netstandard1.4" },
"disableGitFeatures": false,
"disableDefaultFilter": false
},
{ "src": [
{
"src": [
{
"files": [ "NmeaParser/NmeaParser.csproj" ],
"src" : "../src/"
}
],
],
"group": "net451",
"dest": "../artifacts/docs/api/netfx",
"properties": { "TargetFramework": "net451" },
"disableGitFeatures": false,
"disableDefaultFilter": false
},
{ "src": [
{
"src": [
{
"files": [ "NmeaParser/NmeaParser.csproj" ],
"src" : "../src/"
}
],
],
"group": "netcoreapp2.1",
"dest": "../artifacts/docs/api/netcore",
"properties": { "TargetFramework": "netcoreapp2.1" },
"disableGitFeatures": false,
"disableDefaultFilter": false
},
{ "src": [
{
"src": [
{
"files": [ "NmeaParser/NmeaParser.csproj" ],
"src" : "../src/"
}
],
],
"group": "monoandroid7.0",
"dest": "../artifacts/docs/api/android",
"properties": { "TargetFramework": "monoandroid70" },
"disableGitFeatures": false,
"disableDefaultFilter": false
},
{ "src": [
{
"src": [
{
"files": [ "NmeaParser/NmeaParser.csproj" ],
"src" : "../src/"
}
],
],
"group": "xamarinios10",
"dest": "../artifacts/docs/api/ios",
"properties": { "TargetFramework": "xamarinios10" },
"disableGitFeatures": false,
"disableDefaultFilter": false
},
{ "src": [
{
"src": [
{
"files": [ "NmeaParser/NmeaParser.csproj" ],
"src" : "../src/"
}
],
],
"group": "uap10.0.16299",
"dest": "../artifacts/docs/api/uwp",
"properties": { "TargetFramework": "uap10.0.16299" },
"disableGitFeatures": false,
"disableDefaultFilter": false
}
],
"build": {
"content": [
{
"files": [
"api/**/index.md"
]
},
{
"files": [
"api/**.yml",
"api/**/toc.yml"
],
"src" : "../artifacts/docs"
"content": [
{
"files": [ "**.yml" ],
"src" : "../artifacts/docs/api/netfx",
"group": "net451"
},
{
"files": [ "**.yml" ],
"src" : "../artifacts/docs/api/netstd",
"group": "netstandard1.4"
},
{
"files": [ "**.yml" ],
"src" : "../artifacts/docs/api/uwp",
"group": "uap10.0.16299"
},
{
"files": [ "**.yml" ],
"src" : "../artifacts/docs/api/android",
"group": "monoandroid70"
},
{
"files": [ "**.yml" ],
"src" : "../artifacts/docs/api/netcore",
"group": "netcoreapp2.1"
},
{
"files": [ "**.yml" ],
"src" : "../artifacts/docs/api/ios",
"group": "xamarinios10"
},
{
"files": [ "index.md" ],
"group": "netstandard1.4",
"src" : "api/netstd",
},
{
"files": [ "index.md" ],
"group": "uap10.0.16299",
"src" : "api/uwp",
},
{
"files": [ "index.md" ],
"group": "monoandroid70",
"src" : "api/android",
},
{
"files": [ "index.md" ],
"group": "netcoreapp2.1",
"src" : "api/netcore",
},
{
"files": [ "index.md" ],
"group": "net451",
"src" : "api/netfx",
},
{
"files": [ "index.md" ],
"group": "xamarinios10",
"src" : "api/ios",
},
{
"files": [
"api/index.md",
"api/toc.yml",
"concepts/**.md",
"concepts/**/toc.yml",
"toc.yml",
@ -91,6 +153,14 @@
]
}
],
"groups": {
"net451": { "dest": "api/netfx", },
"netstandard1.4": { "dest": "api/netstd" },
"xamarinios10": { "dest": "api/ios" },
"monoandroid70": { "dest": "api/android" },
"uap10.0.16299": { "dest": "api/uwp" },
"netcoreapp2.1": { "dest": "api/netcore" }
},
"resource": [
{
"files": [
@ -98,14 +168,14 @@
"favicon.ico"
]
},
{
{
"files": [
"api/omd.html"
],
"src" : "../artifacts/docs"
"src" : "../artifacts/docs"
}
],
"overwrite": [
"overwrite": [
{
"files": [
"api_overwrites/**.md"
@ -113,7 +183,14 @@
"exclude": [
"obj/**",
"_site/**"
]
],
},
{
"files": [
"applies-to-overwrite.md"
],
"src" : "../artifacts/docs/api_overwrites",
"group": "netstandard1.4",
}
],
"globalMetadata": {

View file

@ -0,0 +1,69 @@
{{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}}
{{>partials/class.header}}
{{#children}}
{{#overload}}
<a id="{{id}}" data-uid="{{uid}}"></a>
{{/overload}}
<h3 id="{{id}}">{{>partials/classSubtitle}}</h3>
{{#children.0}}
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>{{__global.name}}</th>
<th>{{__global.description}}</th>
</tr>
</thead>
<tbody>
{{/children.0}}
{{#children}}
<tr>
<td id="{{id}}" data-uid="{{uid}}">
<xref uid="{{uid}}" altProperty="fullName" displayProperty="name"/>
</td>
<td class="markdown level1 summary">{{{summary}}}</td>
</tr>
{{/children}}
{{#children.0}}
</tbody>
</table>
{{/children.0}}
{{/children}}
{{#extensionMethods.0}}
<h3 id="extensionmethods">{{__global.extensionMethods}}</h3>
{{/extensionMethods.0}}
{{#extensionMethods}}
<div>
{{#definition}}
<xref uid="{{definition}}" altProperty="fullName" displayProperty="nameWithType"/>
{{/definition}}
{{^definition}}
<xref uid="{{uid}}" altProperty="fullName" displayProperty="nameWithType"/>
{{/definition}}
</div>
{{/extensionMethods}}
{{#seealso.0}}
<h3 id="seealso">{{__global.seealso}}</h3>
<div class="seealso">
{{/seealso.0}}
{{#seealso}}
{{#isCref}}
<div>{{{type.specName.0.value}}}</div>
{{/isCref}}
{{^isCref}}
<div>{{{url}}}</div>
{{/isCref}}
{{/seealso}}
{{#seealso.0}}
</div>
{{/seealso.0}}
{{#appliesTo.0}}
<h3 id="appliesTo">Applies to</h3>
<div class="seealso">
{{/appliesTo.0}}
{{#appliesTo}}
<div><b>{{{platform}}}</b><br/>{{{versions}}}<br/><br/></div>
{{/appliesTo}}
{{#appliesTo.0}}
</div>
{{/appliesTo.0}}

View file

@ -0,0 +1,244 @@
{{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}}
<h1 id="{{id}}" data-uid="{{uid}}">{{>partials/title}}</h1>
<div class="markdown level0 summary">{{{summary}}}</div>
<div class="markdown level0 conceptual">{{{conceptual}}}</div>
{{#children}}
{{#children}}
{{^_disableContribution}}
{{#docurl}}
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="{{docurl}}">{{__global.improveThisDoc}}</a>
</span>{{/docurl}}
{{#sourceurl}}
<span class="small pull-right mobile-hide">
<a href="{{sourceurl}}">{{__global.viewSource}}</a>
</span>{{/sourceurl}}
{{/_disableContribution}}
{{#overload}}
<a id="{{id}}" data-uid="{{uid}}"></a>
{{/overload}}
<h4 id="{{id}}" data-uid="{{uid}}">{{name.0.value}}</h4>
<div class="markdown level1 summary">{{{summary}}}</div>
<div class="markdown level1 conceptual">{{{conceptual}}}</div>
<h5 class="decalaration">{{__global.declaration}}</h5>
{{#syntax}}
<div class="codewrapper">
<pre><code class="lang-{{_lang}} hljs">{{syntax.content.0.value}}</code></pre>
</div>
{{#parameters.0}}
<h5 class="parameters">{{__global.parameters}}</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>{{__global.type}}</th>
<th>{{__global.name}}</th>
<th>{{__global.description}}</th>
</tr>
</thead>
<tbody>
{{/parameters.0}}
{{#parameters}}
<tr>
<td>{{{type.specName.0.value}}}</td>
<td><span class="parametername">{{{id}}}</span></td>
<td>{{{description}}}</td>
</tr>
{{/parameters}}
{{#parameters.0}}
</tbody>
</table>
{{/parameters.0}}
{{#return}}
<h5 class="returns">{{__global.returns}}</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>{{__global.type}}</th>
<th>{{__global.description}}</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{{type.specName.0.value}}}</td>
<td>{{{description}}}</td>
</tr>
</tbody>
</table>
{{/return}}
{{#typeParameters.0}}
<h5 class="typeParameters">{{__global.typeParameters}}</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>{{__global.name}}</th>
<th>{{__global.description}}</th>
</tr>
</thead>
<tbody>
{{/typeParameters.0}}
{{#typeParameters}}
<tr>
<td><span class="parametername">{{{id}}}</span></td>
<td>{{{description}}}</td>
</tr>
{{/typeParameters}}
{{#typeParameters.0}}
</tbody>
</table>
{{/typeParameters.0}}
{{#fieldValue}}
<h5 class="fieldValue">{{__global.fieldValue}}</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>{{__global.type}}</th>
<th>{{__global.description}}</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{{type.specName.0.value}}}</td>
<td>{{{description}}}</td>
</tr>
</tbody>
</table>
{{/fieldValue}}
{{#propertyValue}}
<h5 class="propertyValue">{{__global.propertyValue}}</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>{{__global.type}}</th>
<th>{{__global.description}}</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{{type.specName.0.value}}}</td>
<td>{{{description}}}</td>
</tr>
</tbody>
</table>
{{/propertyValue}}
{{#eventType}}
<h5 class="eventType">{{__global.eventType}}</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>{{__global.type}}</th>
<th>{{__global.description}}</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{{type.specName.0.value}}}</td>
<td>{{{description}}}</td>
</tr>
</tbody>
</table>
{{/eventType}}
{{/syntax}}
{{#overridden}}
<h5 class="overrides">{{__global.overrides}}</h5>
<div><xref uid="{{uid}}" altProperty="fullName" displayProperty="nameWithType"/></div>
{{/overridden}}
{{#implements.0}}
<h5 class="implements">{{__global.implements}}</h5>
{{/implements.0}}
{{#implements}}
{{#definition}}
<div><xref uid="{{definition}}" altProperty="fullName" displayProperty="nameWithType"/></div>
{{/definition}}
{{^definition}}
<div><xref uid="{{uid}}" altProperty="fullName" displayProperty="nameWithType"/></div>
{{/definition}}
{{/implements}}
{{#remarks}}
<h5 id="{{id}}_remarks">{{__global.remarks}}</h5>
<div class="markdown level1 remarks">{{{remarks}}}</div>
{{/remarks}}
{{#example.0}}
<h5 id="{{id}}_examples">{{__global.examples}}</h5>
{{/example.0}}
{{#example}}
{{{.}}}
{{/example}}
{{#exceptions.0}}
<h5 class="exceptions">{{__global.exceptions}}</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>{{__global.type}}</th>
<th>{{__global.condition}}</th>
</tr>
</thead>
<tbody>
{{/exceptions.0}}
{{#exceptions}}
<tr>
<td>{{{type.specName.0.value}}}</td>
<td>{{{description}}}</td>
</tr>
{{/exceptions}}
{{#exceptions.0}}
</tbody>
</table>
{{/exceptions.0}}
{{#seealso.0}}
<h5 id="{{id}}_seealso">{{__global.seealso}}</h5>
<div class="seealso">
{{/seealso.0}}
{{#seealso}}
{{#isCref}}
<div>{{{type.specName.0.value}}}</div>
{{/isCref}}
{{^isCref}}
<div>{{{url}}}</div>
{{/isCref}}
{{/seealso}}
{{#seealso.0}}
</div>
{{/seealso.0}}
{{#appliesTo.0}}
<h3 id="appliesTo">Applies to</h3>
<div class="seealso">
{{/appliesTo.0}}
{{#appliesTo}}
<div><b>{{platform}}</b><br/>{{versions}}<br/><br/></div>
{{/appliesTo}}
{{#appliesTo.0}}
</div>
{{/appliesTo.0}}
{{/children}}
{{/children}}
{{#extensionMethods.0}}
<h3 id="extensionmethods">{{__global.extensionMethods}}</h3>
{{/extensionMethods.0}}
{{#extensionMethods}}
<div>
{{#definition}}
<xref uid="{{definition}}" altProperty="fullName" displayProperty="nameWithType"/>
{{/definition}}
{{^definition}}
<xref uid="{{uid}}" altProperty="fullName" displayProperty="nameWithType"/>
{{/definition}}
</div>
{{/extensionMethods}}
{{#seealso.0}}
<h3 id="seealso">{{__global.seealso}}</h3>
<div class="seealso">
{{/seealso.0}}
{{#seealso}}
{{#isCref}}
<div>{{{type.specName.0.value}}}</div>
{{/isCref}}
{{^isCref}}
<div>{{{url}}}</div>
{{/isCref}}
{{/seealso}}
{{#seealso.0}}
</div>
{{/seealso.0}}

View file

@ -5,7 +5,8 @@
- name: Getting Started
href: concepts/index.md
- name: API Reference
href: api/index.md
href: api/
topicHref: api/index.md
- name: Sponsor NMEA Parser
href: https://github.com/sponsors/dotMorten
- name: GitHub