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}} + + + + + + + + + {{/children.0}} + {{#children}} + + + + + {{/children}} + {{#children.0}} + +
{{__global.name}}{{__global.description}}
+ + {{{summary}}}
+{{/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}}
+ + + + + + + + + +{{/parameters.0}} +{{#parameters}} + + + + + +{{/parameters}} +{{#parameters.0}} + +
{{__global.type}}{{__global.name}}{{__global.description}}
{{{type.specName.0.value}}}{{{id}}}{{{description}}}
+{{/parameters.0}} +{{#return}} +
{{__global.returns}}
+ + + + + + + + + + + + + +
{{__global.type}}{{__global.description}}
{{{type.specName.0.value}}}{{{description}}}
+{{/return}} +{{#typeParameters.0}} +
{{__global.typeParameters}}
+ + + + + + + + +{{/typeParameters.0}} +{{#typeParameters}} + + + + +{{/typeParameters}} +{{#typeParameters.0}} + +
{{__global.name}}{{__global.description}}
{{{id}}}{{{description}}}
+{{/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}} +
{{__global.remarks}}
+
{{{remarks}}}
+{{/remarks}} +{{#example.0}} +
{{__global.examples}}
+{{/example.0}} +{{#example}} +{{{.}}} +{{/example}} +{{#exceptions.0}} +
{{__global.exceptions}}
+ + + + + + + + +{{/exceptions.0}} +{{#exceptions}} + + + + +{{/exceptions}} +{{#exceptions.0}} + +
{{__global.type}}{{__global.condition}}
{{{type.specName.0.value}}}{{{description}}}
+{{/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