diff --git a/.gitignore b/.gitignore index c31b51e8..008acc19 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,7 @@ bld/ [Bb]in/ [Oo]bj/ [Ll]og/ +docs/_build/_*/ # Visual Studio 2015/2017 cache/options directory .vs/ diff --git a/assets/icon_28h.png b/assets/icon_28h.png new file mode 100644 index 00000000..a8af59e2 Binary files /dev/null and b/assets/icon_28h.png differ diff --git a/assets/icon_28h_5mr.png b/assets/icon_28h_5mr.png new file mode 100644 index 00000000..0bad928f Binary files /dev/null and b/assets/icon_28h_5mr.png differ diff --git a/docfx.json b/docfx.json new file mode 100644 index 00000000..d1cc63ff --- /dev/null +++ b/docfx.json @@ -0,0 +1,78 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://raw.githubusercontent.com/dotnet/docfx/main/schemas/docfx.schema.json", + "metadata": [ + { + "src": [{ + "files": ["MTGOSDK/MTGOSDK.csproj"] + }], + "output": "docs/_build/_xmldoc/MTGOSDK", + "filter": "docs/_build/docfx/filters.yml", + "categoryLayout": "nested", + "namespaceLayout": "nested", + "enumSortOrder": "declaringOrder", + "memberLayout": "samePage", + "references": [ + "dist/*/Reference/**/*.dll" + ] + }, + { + "src": [{ + "files": ["MTGOSDK.MSBuild/MTGOSDK.MSBuild.csproj"] + }], + "output": "docs/_build/_xmldoc/MTGOSDK.MSBuild", + "filter": "docs/_build/docfx/filters.yml", + "categoryLayout": "nested", + "namespaceLayout": "nested", + "enumSortOrder": "declaringOrder", + "memberLayout": "samePage" + }, + { + "src": [{ + "files": ["MTGOSDK.Win32/MTGOSDK.Win32.csproj"] + }], + "output": "docs/_build/_xmldoc/MTGOSDK.Win32", + "filter": "docs/_build/docfx/filters.yml", + "categoryLayout": "nested", + "namespaceLayout": "nested", + "enumSortOrder": "declaringOrder", + "memberLayout": "samePage" + } + ], + "build": { + "content": [ + { + "files": ["**/*.{md,yml}"], + "src": "docs/_build/_xmldoc", + "dest": "docs/api" + }, + { + "files": ["**/*.{md,yml}"], + "src": "docs", + "dest": "docs", + "exclude": ["_build/**"] + }, + { + "files": ["index.md"], + "src": "docs/_build/docfx" + } + ], + "resource": [ + { + "files": ["assets/**"] + } + ], + "output": "docs/_build/_site", + "template": [ + "default", + "modern", + "docs/_build/docfx" + ], + "globalMetadata": { + "_appName": "MTGOSDK", + "_appTitle": "MTGOSDK", + "_appLogoPath": "assets/icon_28h_5mr.png", + "_enableSearch": true + } + } +} \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index 1ed8a247..75f6813f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,3 +1,7 @@ +--- +# _layout: landing +--- + # MTGOSDK Codebase Documentation This directory contains some documentation about the MTGOSDK codebase, aimed at readers who are interested in making code contributions. For more general information about the MTGOSDK, refer to the project [README](../README.md) or the [FAQ](FAQ.md). diff --git a/docs/_build/docfx/filters.yml b/docs/_build/docfx/filters.yml new file mode 100644 index 00000000..3c839522 --- /dev/null +++ b/docs/_build/docfx/filters.yml @@ -0,0 +1,9 @@ +apiRules: +- exclude: + uidRegex: ^System\.Object + type: Type +- exclude: + uidRegex: ^MTGOSDK.API.Events\..* +- exclude: + hasAttribute: + uid: MTGOSDK.Core.Reflection.Attributes.RuntimeInternalAttribute \ No newline at end of file diff --git a/docs/_build/docfx/head.tmpl.partial b/docs/_build/docfx/head.tmpl.partial new file mode 100644 index 00000000..d0cabb21 --- /dev/null +++ b/docs/_build/docfx/head.tmpl.partial @@ -0,0 +1,21 @@ +{{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} + + + + + {{#title}}{{title}}{{/title}}{{^title}}{{>partials/title}}{{/title}} {{#_appTitle}}| {{_appTitle}} {{/_appTitle}} + + + + {{#_description}}{{/_description}} + + + + + + + + {{#_noindex}}{{/_noindex}} + {{#_enableSearch}}{{/_enableSearch}} + {{#_enableNewTab}}{{/_enableNewTab}} + \ No newline at end of file diff --git a/docs/_build/docfx/index.md b/docs/_build/docfx/index.md new file mode 100644 index 00000000..d5c1f367 --- /dev/null +++ b/docs/_build/docfx/index.md @@ -0,0 +1,3 @@ +--- +redirect_url: /docs/README.html +--- diff --git a/docs/_build/docfx/main.css b/docs/_build/docfx/main.css new file mode 100644 index 00000000..d375e498 --- /dev/null +++ b/docs/_build/docfx/main.css @@ -0,0 +1,183 @@ +@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;400;700&display=swap'); + +:root { + --bs-font-sans-serif: 'Roboto'; + --bs-border-radius: 10px; + + --border-radius-button: 40px; + --card-box-shadow: 0 1px 2px 0 #3d41440f, 0 1px 3px 1px #3d414429; + + --material-yellow-light: #e6dfbf; + --material-yellow-dark: #5a5338; + + --material-blue-light: #c4d9f1; + --material-blue-dark: #383e5a; + + --material-red-light: #f1c4c4; + --material-red-dark: #5a3838; + + --material-warning-header: #f57f171a; + --material-warning-background: #f6e8bd; + --material-warning-background-dark: #57502c; + + --material-info-header: #1976d21a; + --material-info-background: #e3f2fd; + --material-info-background-dark: #2c4557; + + --material-danger-header: #d32f2f1a; + --material-danger-background: #ffebee; + --material-danger-background-dark: #572c2c; +} + +/* HEADINGS */ + +h1 { + font-weight: 600; + font-size: 32px; +} + +h2 { + font-weight: 600; + font-size: 24px; + line-height: 1.8; +} + +h3 { + font-weight: 600; + font-size: 20px; + line-height: 1.8; +} + +h5 { + font-size: 14px; + padding: 10px 0px; +} + +article h2, +article h3, +article h4 { + margin-top: 15px; + margin-bottom: 15px; +} + +article h4 { + padding-bottom: 8px; + border-bottom: 2px solid #ddd; +} + +/** IMAGES **/ +img { + border-radius: var(--bs-border-radius); + box-shadow: var(--card-box-shadow); +} + +/** NAVBAR **/ +.navbar-brand > img { + box-shadow: none; + color: var(--bs-nav-link-color); + margin-right: 5px; +} + +[data-bs-theme='light'] nav.navbar { + background-color: var(--bs-primary-bg-subtle); +} + +[data-bs-theme='dark'] nav.navbar { + background-color: var(--bs-tertiary-bg); +} + +.navbar-nav > li > a { + border-radius: var(--border-radius-button); + transition: 200ms; +} + +.navbar-nav a.nav-link:focus, +.navbar-nav a.nav-link:hover { + background-color: var(--bs-primary-border-subtle); +} + +.navbar-nav .nav-link.active, +.navbar-nav .nav-link.show { + color: var(--bs-link-hover-color); +} + +/** SEARCH AND FILTER **/ +input.form-control { + border-radius: var(--border-radius-button); +} + +form.filter { + margin: 0.3rem; +} + +/** ALERTS **/ +.alert { + padding: 0; + border: none; + box-shadow: var(--card-box-shadow); +} + +.alert > p { + padding: 0.2rem 0.7rem 0.7rem 1rem; +} + +.alert > ul { + margin-bottom: 0; + padding: 5px 40px; +} + +.alert > h5 { + padding: 0.5rem 0.7rem 0.7rem 1rem; + border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0; + font-weight: bold; + text-transform: capitalize; +} + +.alert-info { + color: var(--material-blue-dark); + background-color: var(--material-info-background); +} + +[data-bs-theme='dark'] .alert-info { + color: var(--material-blue-light); + background-color: var(--material-info-background-dark); +} + +.alert-info > h5 { + background-color: var(--material-info-header); +} + +.alert-warning { + color: var(--material-yellow-dark); + background-color: var(--material-warning-background); +} + +[data-bs-theme='dark'] .alert-warning { + color: var(--material-yellow-light); + background-color: var(--material-warning-background-dark); +} + +.alert-warning > h5 { + background-color: var(--material-warning-header); +} + +.alert-danger { + color: var(--material-red-dark); + background-color: var(--material-danger-background); +} + +[data-bs-theme='dark'] .alert-danger { + color: var(--material-red-light); + background-color: var(--material-danger-background-dark); +} + +.alert-danger > h5 { + background-color: var(--material-danger-header); +} + +/* CODE HIGHLIGHT */ +code { + border-radius: var(--bs-border-radius); + margin: 4px 2px; + box-shadow: var(--card-box-shadow); +} diff --git a/docs/architecture/README.md b/docs/architecture/README.md index 555db5f2..cedc3b86 100644 --- a/docs/architecture/README.md +++ b/docs/architecture/README.md @@ -6,5 +6,5 @@ Below is a list of sections in this directory: | Section | Description | | --- | --- | -| [Overview](docs/architecture/overview.md) | Provides an overview of the SDK and its components. | -| [Core Classes](docs/architecture/core-classes.md) | Describes the core classes of the SDK and their responsibilities. | +| [Overview](overview.md) | Provides an overview of the SDK and its components. | +| [Core Classes](core-classes.md) | Describes the core classes of the SDK and their responsibilities. | diff --git a/docs/toc.yml b/docs/toc.yml new file mode 100644 index 00000000..fa5a76cb --- /dev/null +++ b/docs/toc.yml @@ -0,0 +1,24 @@ +items: +- name: Getting Started + href: getting-started.html +- name: API + href: api/index.html + items: + - name: MTGOSDK + href: api/MTGOSDK/MTGOSDK.html + - name: MTGOSDK.MSBuild + href: api/MTGOSDK.MSBuild/MTGOSDK.MSBuild.html + - name: MTGOSDK.Win32 + href: api/MTGOSDK.Win32/MTGOSDK.Win32.html + expanded: true +- name: Architecture + href: architecture/README.html + items: + - name: Overview + href: architecture/overview.html + - name: Core Classes + href: architecture/core-classes.html +- name: FAQ + href: FAQ.html +- name: Changelog + href: CHANGELOG.html diff --git a/dotnet-tools.json b/dotnet-tools.json index 88f11709..204e6ab0 100644 --- a/dotnet-tools.json +++ b/dotnet-tools.json @@ -25,6 +25,12 @@ "commands": [ "nbgv" ] + }, + "docfx": { + "version": "2.77.0", + "commands": [ + "docfx" + ] } } } \ No newline at end of file