diff --git a/docs/BuildDoc.cmd b/docs/BuildDoc.cmd
index 49f215c..00f2283 100644
--- a/docs/BuildDoc.cmd
+++ b/docs/BuildDoc.cmd
@@ -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\
\ No newline at end of file
diff --git a/docs/api/index.md b/docs/api/index.md
index a8cdf5f..16c8edf 100644
--- a/docs/api/index.md
+++ b/docs/api/index.md
@@ -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:
diff --git a/docs/api/toc.yml b/docs/api/toc.yml
new file mode 100644
index 0000000..b6c9ce2
--- /dev/null
+++ b/docs/api/toc.yml
@@ -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
+
\ No newline at end of file
diff --git a/docs/docfx.json b/docs/docfx.json
index 76fc524..8a961e3 100644
--- a/docs/docfx.json
+++ b/docs/docfx.json
@@ -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": {
diff --git a/docs/template_overrides/partials/class.tmpl.partial b/docs/template_overrides/partials/class.tmpl.partial
new file mode 100644
index 0000000..f8d8041
--- /dev/null
+++ b/docs/template_overrides/partials/class.tmpl.partial
@@ -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}}
+
+{{/overload}}
+
{{>partials/classSubtitle}}
+{{#children.0}}
+
+
+
+ | {{__global.name}} |
+ {{__global.description}} |
+
+
+
+ {{/children.0}}
+ {{#children}}
+
+ |
+
+ |
+ {{{summary}}} |
+
+ {{/children}}
+ {{#children.0}}
+
+
+{{/children.0}}
+{{/children}}
+{{#extensionMethods.0}}
+{{__global.extensionMethods}}
+{{/extensionMethods.0}}
+{{#extensionMethods}}
+
+ {{#definition}}
+
+ {{/definition}}
+ {{^definition}}
+
+ {{/definition}}
+
+{{/extensionMethods}}
+{{#seealso.0}}
+{{__global.seealso}}
+
+{{/seealso.0}}
+{{#seealso}}
+ {{#isCref}}
+
{{{type.specName.0.value}}}
+ {{/isCref}}
+ {{^isCref}}
+
{{{url}}}
+ {{/isCref}}
+{{/seealso}}
+{{#seealso.0}}
+
+{{/seealso.0}}
+{{#appliesTo.0}}
+Applies to
+
+{{/appliesTo.0}}
+{{#appliesTo}}
+
{{{platform}}}
{{{versions}}}
+{{/appliesTo}}
+{{#appliesTo.0}}
+
+{{/appliesTo.0}}
diff --git a/docs/template_overrides/partials/collection.tmpl.partial b/docs/template_overrides/partials/collection.tmpl.partial
new file mode 100644
index 0000000..c282e9a
--- /dev/null
+++ b/docs/template_overrides/partials/collection.tmpl.partial
@@ -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.}}
+
+{{>partials/title}}
+{{{summary}}}
+{{{conceptual}}}
+
+{{#children}}
+{{#children}}
+{{^_disableContribution}}
+{{#docurl}}
+
+ |
+ {{__global.improveThisDoc}}
+{{/docurl}}
+{{#sourceurl}}
+
+ {{__global.viewSource}}
+{{/sourceurl}}
+{{/_disableContribution}}
+{{#overload}}
+
+{{/overload}}
+{{name.0.value}}
+{{{summary}}}
+{{{conceptual}}}
+{{__global.declaration}}
+{{#syntax}}
+
+
{{syntax.content.0.value}}
+
+{{#parameters.0}}
+{{__global.parameters}}
+
+
+
+ | {{__global.type}} |
+ {{__global.name}} |
+ {{__global.description}} |
+
+
+
+{{/parameters.0}}
+{{#parameters}}
+
+ | {{{type.specName.0.value}}} |
+ {{{id}}} |
+ {{{description}}} |
+
+{{/parameters}}
+{{#parameters.0}}
+
+
+{{/parameters.0}}
+{{#return}}
+{{__global.returns}}
+
+
+
+ | {{__global.type}} |
+ {{__global.description}} |
+
+
+
+
+ | {{{type.specName.0.value}}} |
+ {{{description}}} |
+
+
+
+{{/return}}
+{{#typeParameters.0}}
+{{__global.typeParameters}}
+
+
+
+ | {{__global.name}} |
+ {{__global.description}} |
+
+
+
+{{/typeParameters.0}}
+{{#typeParameters}}
+
+ | {{{id}}} |
+ {{{description}}} |
+
+{{/typeParameters}}
+{{#typeParameters.0}}
+
+
+{{/typeParameters.0}}
+{{#fieldValue}}
+{{__global.fieldValue}}
+
+
+
+ | {{__global.type}} |
+ {{__global.description}} |
+
+
+
+
+ | {{{type.specName.0.value}}} |
+ {{{description}}} |
+
+
+
+{{/fieldValue}}
+{{#propertyValue}}
+{{__global.propertyValue}}
+
+
+
+ | {{__global.type}} |
+ {{__global.description}} |
+
+
+
+
+ | {{{type.specName.0.value}}} |
+ {{{description}}} |
+
+
+
+{{/propertyValue}}
+{{#eventType}}
+{{__global.eventType}}
+
+
+
+ | {{__global.type}} |
+ {{__global.description}} |
+
+
+
+
+ | {{{type.specName.0.value}}} |
+ {{{description}}} |
+
+
+
+{{/eventType}}
+{{/syntax}}
+{{#overridden}}
+{{__global.overrides}}
+
+{{/overridden}}
+{{#implements.0}}
+{{__global.implements}}
+{{/implements.0}}
+{{#implements}}
+ {{#definition}}
+
+ {{/definition}}
+ {{^definition}}
+
+ {{/definition}}
+{{/implements}}
+{{#remarks}}
+
+
+{{/remarks}}
+{{#example.0}}
+{{__global.examples}}
+{{/example.0}}
+{{#example}}
+{{{.}}}
+{{/example}}
+{{#exceptions.0}}
+{{__global.exceptions}}
+
+
+
+ | {{__global.type}} |
+ {{__global.condition}} |
+
+
+
+{{/exceptions.0}}
+{{#exceptions}}
+
+ | {{{type.specName.0.value}}} |
+ {{{description}}} |
+
+{{/exceptions}}
+{{#exceptions.0}}
+
+
+{{/exceptions.0}}
+{{#seealso.0}}
+{{__global.seealso}}
+
+{{/seealso.0}}
+{{#seealso}}
+ {{#isCref}}
+
{{{type.specName.0.value}}}
+ {{/isCref}}
+ {{^isCref}}
+
{{{url}}}
+ {{/isCref}}
+{{/seealso}}
+{{#seealso.0}}
+
+{{/seealso.0}}
+{{#appliesTo.0}}
+Applies to
+
+{{/appliesTo.0}}
+{{#appliesTo}}
+
{{platform}}
{{versions}}
+{{/appliesTo}}
+{{#appliesTo.0}}
+
+{{/appliesTo.0}}
+{{/children}}
+{{/children}}
+{{#extensionMethods.0}}
+{{__global.extensionMethods}}
+{{/extensionMethods.0}}
+{{#extensionMethods}}
+
+ {{#definition}}
+
+ {{/definition}}
+ {{^definition}}
+
+ {{/definition}}
+
+{{/extensionMethods}}
+{{#seealso.0}}
+{{__global.seealso}}
+
+{{/seealso.0}}
+{{#seealso}}
+ {{#isCref}}
+
{{{type.specName.0.value}}}
+ {{/isCref}}
+ {{^isCref}}
+
{{{url}}}
+ {{/isCref}}
+{{/seealso}}
+{{#seealso.0}}
+
+{{/seealso.0}}
diff --git a/docs/toc.yml b/docs/toc.yml
index 69b6b6d..da4b8ba 100644
--- a/docs/toc.yml
+++ b/docs/toc.yml
@@ -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