From 1fc28969060773f115da4d3d3cfe21fa60fb793a Mon Sep 17 00:00:00 2001 From: Robert Date: Mon, 31 Aug 2020 19:44:18 +0200 Subject: [PATCH] Documentation - Added DocFX --- docfx/docfx_project/.gitignore | 9 + docfx/docfx_project/api/.gitignore | 5 + docfx/docfx_project/api/index.md | 2 + docfx/docfx_project/articles/intro.md | 1 + .../articles/plugins_getting_started.md | 3 + docfx/docfx_project/articles/toc.yml | 4 + docfx/docfx_project/docfx.json | 72 ++++ docfx/docfx_project/images/logo-512.png | Bin 0 -> 22804 bytes docfx/docfx_project/index.md | 30 ++ .../templates/artemis/favicon.ico | Bin 0 -> 112887 bytes .../artemis/partials/logo.tmpl.partial | 5 + .../material/partials/head.tmpl.partial | 21 ++ .../templates/material/styles/main.css | 314 ++++++++++++++++++ docfx/docfx_project/toc.yml | 6 + .../Models/Profile/Colors/ColorGradient.cs | 4 +- .../Services/Interfaces/IPluginService.cs | 4 +- src/Artemis.Core/Utilities/Easings.cs | 82 ++--- .../Services/Interfaces/IDialogService.cs | 4 +- .../Utilities/HitTestUtilities.cs | 3 +- 19 files changed, 520 insertions(+), 49 deletions(-) create mode 100644 docfx/docfx_project/.gitignore create mode 100644 docfx/docfx_project/api/.gitignore create mode 100644 docfx/docfx_project/api/index.md create mode 100644 docfx/docfx_project/articles/intro.md create mode 100644 docfx/docfx_project/articles/plugins_getting_started.md create mode 100644 docfx/docfx_project/articles/toc.yml create mode 100644 docfx/docfx_project/docfx.json create mode 100644 docfx/docfx_project/images/logo-512.png create mode 100644 docfx/docfx_project/index.md create mode 100644 docfx/docfx_project/templates/artemis/favicon.ico create mode 100644 docfx/docfx_project/templates/artemis/partials/logo.tmpl.partial create mode 100644 docfx/docfx_project/templates/material/partials/head.tmpl.partial create mode 100644 docfx/docfx_project/templates/material/styles/main.css create mode 100644 docfx/docfx_project/toc.yml diff --git a/docfx/docfx_project/.gitignore b/docfx/docfx_project/.gitignore new file mode 100644 index 000000000..4378419e7 --- /dev/null +++ b/docfx/docfx_project/.gitignore @@ -0,0 +1,9 @@ +############### +# folder # +############### +/**/DROP/ +/**/TEMP/ +/**/packages/ +/**/bin/ +/**/obj/ +_site diff --git a/docfx/docfx_project/api/.gitignore b/docfx/docfx_project/api/.gitignore new file mode 100644 index 000000000..e8079a3be --- /dev/null +++ b/docfx/docfx_project/api/.gitignore @@ -0,0 +1,5 @@ +############### +# temp file # +############### +*.yml +.manifest diff --git a/docfx/docfx_project/api/index.md b/docfx/docfx_project/api/index.md new file mode 100644 index 000000000..78dc9c005 --- /dev/null +++ b/docfx/docfx_project/api/index.md @@ -0,0 +1,2 @@ +# PLACEHOLDER +TODO: Add .NET projects to the *src* folder and run `docfx` to generate **REAL** *API Documentation*! diff --git a/docfx/docfx_project/articles/intro.md b/docfx/docfx_project/articles/intro.md new file mode 100644 index 000000000..b0db1682f --- /dev/null +++ b/docfx/docfx_project/articles/intro.md @@ -0,0 +1 @@ +Bummer, no guides 😌 \ No newline at end of file diff --git a/docfx/docfx_project/articles/plugins_getting_started.md b/docfx/docfx_project/articles/plugins_getting_started.md new file mode 100644 index 000000000..484967e77 --- /dev/null +++ b/docfx/docfx_project/articles/plugins_getting_started.md @@ -0,0 +1,3 @@ +Plugins allow you to expand on Artemis's functionality. For quick and interactive plugin creation, use the [Visual Studio template extension](https://marketplace.visualstudio.com/items?itemName=SpoinkyNL.ArtemisTemplates). + +Example implementations of these plugins can be found on [GitHub](https://github.com/Artemis-RGB/Artemis/tree/master/src/Plugins). \ No newline at end of file diff --git a/docfx/docfx_project/articles/toc.yml b/docfx/docfx_project/articles/toc.yml new file mode 100644 index 000000000..2b505c1d9 --- /dev/null +++ b/docfx/docfx_project/articles/toc.yml @@ -0,0 +1,4 @@ +- name: Introduction + href: intro.md +- name: Plugins - Getting started + href: plugins_getting_started.md \ No newline at end of file diff --git a/docfx/docfx_project/docfx.json b/docfx/docfx_project/docfx.json new file mode 100644 index 000000000..b7b1b85de --- /dev/null +++ b/docfx/docfx_project/docfx.json @@ -0,0 +1,72 @@ +{ + "metadata": [ + { + "src": [ + { + "files": [ + "Artemis.Core/Artemis.Core.csproj", + "Artemis.UI.Shared/Artemis.UI.Shared.csproj", + ], + "src": "../src" + } + ], + "dest": "api", + "disableGitFeatures": false, + "disableDefaultFilter": false + } + ], + "build": { + "content": [ + { + "files": [ + "api/**.yml", + "api/index.md" + ] + }, + { + "files": [ + "articles/**.md", + "articles/**/toc.yml", + "toc.yml", + "*.md" + ] + } + ], + "resource": [ + { + "files": [ + "images/**" + ] + } + ], + "overwrite": [ + { + "files": [ + "apidoc/**.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "globalMetadata": { + "_appTitle": "Artemis documentation", + "_enableSearch": true + }, + "dest": "_site", + "globalMetadataFiles": [], + "fileMetadataFiles": [], + "template": [ + "default", + "templates/artemis", + "templates/material" + ], + "postProcessors": [], + "markdownEngineName": "markdig", + "noLangKeyword": false, + "keepFileLink": false, + "cleanupCacheHistory": false, + "disableGitFeatures": false + } +} \ No newline at end of file diff --git a/docfx/docfx_project/images/logo-512.png b/docfx/docfx_project/images/logo-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d1cd8ebe70ce8ac82eef0dc9d52f8e4408481c5a GIT binary patch literal 22804 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 L4tDo8a8CUXw*0?E literal 0 HcmV?d00001 diff --git a/docfx/docfx_project/index.md b/docfx/docfx_project/index.md new file mode 100644 index 000000000..0389c5447 --- /dev/null +++ b/docfx/docfx_project/index.md @@ -0,0 +1,30 @@ + +# Welcome to the **Artemis API documentation** +On this website you can browse the Artemis Core and Shared UI API. +A large part of this documentation is being generated based on code but over time the plan is to expand the documentation with written guides. + + +## Plugins +Artemis 2.0 has been developed from the ground up with plugins in mind. This means almost all functionality can be expanded. The following plugin types are currently available and fully implemented: + - [DataModelExpansion\](api/Artemis.Core.Plugins.DataModelExpansions.DataModelExpansion-1.html) + - [DeviceProvider](api/Artemis.Core.Plugins.DeviceProviders.DeviceProvider.html) + - [LayerBrush\](api/Artemis.Core.Plugins.LayerBrushes.LayerBrush-1.html) + - [PerLedLayerBrush\](api/Artemis.Core.Plugins.LayerBrushes.PerLedLayerBrush-1.html) + - [RgbNetLayerBrush\](api/Artemis.Core.Plugins.LayerBrushes.RgbNetLayerBrush-1.html) + - [LayerEffect](api/Artemis.Core.Plugins.LayerEffects.LayerEffect-1.html) + - [Module](api/Artemis.Core.Plugins.Modules.Module.html) + - [Module\](api/Artemis.Core.Plugins.Modules.Module-1.html) + - [ProfileModule](api/Artemis.Core.Plugins.Modules.ProfileModule.html), + - [ProfileModule\](api/Artemis.Core.Plugins.Modules.ProfileModule-1.html) + +These allow you to expand on Artemis's functionality. For quick and interactive plugin creation, use the [Visual Studio template extension](https://marketplace.visualstudio.com/items?itemName=SpoinkyNL.ArtemisTemplates). + +Example implementations of these plugins can be found on [GitHub](https://github.com/Artemis-RGB/Artemis/tree/master/src/Plugins). + +## Services +Artemis provides plugins with an API through a range of services. +All the services are available to plugins by using dependency injection in your plugin's constructor. Dependency injection is also available for the different view models plugins may provide. + +- [Core Services](/api/Artemis.Core.Services.Interfaces.html) +- [UI Services](/api/Artemis.UI.Shared.Services.Interfaces.html) + diff --git a/docfx/docfx_project/templates/artemis/favicon.ico b/docfx/docfx_project/templates/artemis/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..015d1ffa8531e7e0a01ff368edb15cec40428223 GIT binary patch literal 112887 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 O3_AG^`RsI+)ZYP5w$HZ! literal 0 HcmV?d00001 diff --git a/docfx/docfx_project/templates/artemis/partials/logo.tmpl.partial b/docfx/docfx_project/templates/artemis/partials/logo.tmpl.partial new file mode 100644 index 000000000..bf09be859 --- /dev/null +++ b/docfx/docfx_project/templates/artemis/partials/logo.tmpl.partial @@ -0,0 +1,5 @@ +{{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} + + + + diff --git a/docfx/docfx_project/templates/material/partials/head.tmpl.partial b/docfx/docfx_project/templates/material/partials/head.tmpl.partial new file mode 100644 index 000000000..c05e8c1b0 --- /dev/null +++ b/docfx/docfx_project/templates/material/partials/head.tmpl.partial @@ -0,0 +1,21 @@ +{{!Copyright (c) Oscar Vasquez. 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/docfx/docfx_project/templates/material/styles/main.css b/docfx/docfx_project/templates/material/styles/main.css new file mode 100644 index 000000000..8fb996768 --- /dev/null +++ b/docfx/docfx_project/templates/material/styles/main.css @@ -0,0 +1,314 @@ +/* COLOR VARIABLES*/ +:root { + --header-bg-color: #009688; + --header-ft-color: #fff; + --highlight-light: #1de9b6; + --highlight-dark: #00bfa5; + --accent-dim: #e0e0e0; + --accent-super-dim: #f3f3f3; + --font-color: #34393e; + --card-box-shadow: 0 1px 2px 0 rgba(61, 65, 68, 0.06), 0 1px 3px 1px rgba(61, 65, 68, 0.16); + --search-box-shadow: 0 1px 2px 0 rgba(41, 45, 48, 0.36), 0 1px 3px 1px rgba(41, 45, 48, 0.46); + --transition: 350ms; +} + +body { + color: var(--font-color); + font-family: "Roboto", sans-serif; + line-height: 1.5; + font-size: 16px; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + word-wrap: break-word; +} + +/* HIGHLIGHT COLOR */ + +button, +a { + color: var(--highlight-dark); + cursor: pointer; +} + +button:hover, +button:focus, +a:hover, +a:focus { + color: var(--highlight-light); + text-decoration: none; +} + +.toc .nav > li.active > a { + color: var(--highlight-dark); +} + +.toc .nav > li.active > a:hover, +.toc .nav > li.active > a:focus { + color: var(--highlight-light); +} + +.pagination > .active > a { + background-color: var(--header-bg-color); + border-color: var(--header-bg-color); +} + +.pagination > .active > a, +.pagination > .active > a:focus, +.pagination > .active > a:hover, +.pagination > .active > span, +.pagination > .active > span:focus, +.pagination > .active > span:hover { + background-color: var(--highlight-light); + border-color: var(--highlight-light); +} + +.affix ul > li.active > a, .affix ul > li.active > a:before { + color: var(--highlight-dark); +} + +.affix > ul > li.active > a, .affix > ul > li.active > a:before { + color: var(--highlight-dark); +} + +/* 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 h1, +article h2, +article h3, +article h4 { + margin-top: 35px; + margin-bottom: 15px; +} + +article h4 { + padding-bottom: 8px; + border-bottom: 2px solid #ddd; +} + +/* NAVBAR */ + +.navbar-brand > img { + color: var(--header-ft-color); +} + +.navbar { + border: none; + /* Both navbars use box-shadow */ + -webkit-box-shadow: var(--card-box-shadow); + -moz-box-shadow: var(--card-box-shadow); + box-shadow: var(--card-box-shadow); +} + +.subnav { + border-top: 1px solid #ddd; + background-color: #fff; +} + +.navbar-inverse { + background-color: var(--header-bg-color); + z-index: 100; +} + +.navbar-inverse .navbar-nav > li > a, +.navbar-inverse .navbar-text { + color: var(--header-ft-color); + background-color: var(--header-bg-color); + border-bottom: 3px solid transparent; + padding-bottom: 12px; + transition: 350ms; +} + +.navbar-inverse .navbar-nav > li > a:focus, +.navbar-inverse .navbar-nav > li > a:hover { + color: var(--header-ft-color); + background-color: var(--header-bg-color); + border-bottom: 3px solid white; +} + +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:focus, +.navbar-inverse .navbar-nav > .active > a:hover { + color: var(--header-ft-color); + background-color: var(--header-bg-color); + border-bottom: 3px solid white; +} + +.navbar-form .form-control { + border: 0; + border-radius: 4px; + box-shadow: var(--search-box-shadow); + transition:var(--transition); +} + +.navbar-form .form-control:hover { + background-color: var(--accent-dim); +} + +/* NAVBAR TOGGLED (small screens) */ + +.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { + border: none; +} +.navbar-inverse .navbar-toggle { + box-shadow: var(--card-box-shadow); + border: none; +} + +.navbar-inverse .navbar-toggle:focus, +.navbar-inverse .navbar-toggle:hover { + background-color: var(--highlight-dark); +} + +/* SIDEBAR */ + +.toc .level1 > li { + font-weight: 400; +} + +.toc .nav > li > a { + color: var(--font-color); +} + +.sidefilter { + background-color: #fff; + border-left: none; + border-right: none; +} + +.sidefilter { + background-color: #fff; + border-left: none; + border-right: none; +} + +.toc-filter { + padding: 5px; + margin: 0; + box-shadow: var(--card-box-shadow); + transition:var(--transition); +} + +.toc-filter:hover { + background-color: var(--accent-super-dim); +} + +.toc-filter > input { + border: none; + background-color: inherit; + transition: inherit; +} + +.toc-filter > .filter-icon { + display: none; +} + +.sidetoc > .toc { + background-color: #fff; + overflow-x: hidden; +} + +.sidetoc { + background-color: #fff; + border: none; +} + +/* ALERTS */ + +.alert { + padding: 0px 0px 5px 0px; + color: inherit; + background-color: inherit; + border: none; + box-shadow: var(--card-box-shadow); +} + +.alert > p { + margin-bottom: 0; + padding: 5px 10px; +} + +.alert > ul { + margin-bottom: 0; + padding: 5px 40px; +} + +.alert > h5 { + padding: 10px 15px; + margin-top: 0; + text-transform: uppercase; + font-weight: bold; + border-radius: 4px 4px 0 0; +} + +.alert-info > h5 { + color: #1976d2; + border-bottom: 4px solid #1976d2; + background-color: #e3f2fd; +} + +.alert-warning > h5 { + color: #f57f17; + border-bottom: 4px solid #f57f17; + background-color: #fff3e0; +} + +.alert-danger > h5 { + color: #d32f2f; + border-bottom: 4px solid #d32f2f; + background-color: #ffebee; +} + +/* CODE HIGHLIGHT */ +pre { + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + word-break: break-all; + word-wrap: break-word; + background-color: #fffaef; + border-radius: 4px; + border: none; + box-shadow: var(--card-box-shadow); +} + +/* STYLE FOR IMAGES */ + +.article .small-image { + margin-top: 15px; + box-shadow: var(--card-box-shadow); + max-width: 350px; +} + +.article .medium-image { + margin-top: 15px; + box-shadow: var(--card-box-shadow); + max-width: 550px; +} + +.article .large-image { + margin-top: 15px; + box-shadow: var(--card-box-shadow); + max-width: 700px; +} \ No newline at end of file diff --git a/docfx/docfx_project/toc.yml b/docfx/docfx_project/toc.yml new file mode 100644 index 000000000..7db7ecaea --- /dev/null +++ b/docfx/docfx_project/toc.yml @@ -0,0 +1,6 @@ +- name: Articles + href: articles/ + homepage: articles/intro.md +- name: API Documentation + href: api/ + homepage: api/index.md diff --git a/src/Artemis.Core/Models/Profile/Colors/ColorGradient.cs b/src/Artemis.Core/Models/Profile/Colors/ColorGradient.cs index 3307dcac6..48c66771e 100644 --- a/src/Artemis.Core/Models/Profile/Colors/ColorGradient.cs +++ b/src/Artemis.Core/Models/Profile/Colors/ColorGradient.cs @@ -136,9 +136,9 @@ namespace Artemis.Core.Models.Profile.Colors /// public event PropertyChangedEventHandler PropertyChanged; - + [NotifyPropertyChangedInvocator] - protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + internal virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } diff --git a/src/Artemis.Core/Services/Interfaces/IPluginService.cs b/src/Artemis.Core/Services/Interfaces/IPluginService.cs index 76af14982..601803233 100644 --- a/src/Artemis.Core/Services/Interfaces/IPluginService.cs +++ b/src/Artemis.Core/Services/Interfaces/IPluginService.cs @@ -72,10 +72,10 @@ namespace Artemis.Core.Services.Interfaces List GetAllPluginInfo(); ///

- /// Finds all enabled instances of type + /// Finds all enabled instances of type T /// /// Either or a plugin type implementing - /// Returns a list of plug instances of type + /// Returns a list of plug instances of type T List GetPluginsOfType() where T : Plugin; /// diff --git a/src/Artemis.Core/Utilities/Easings.cs b/src/Artemis.Core/Utilities/Easings.cs index 86e9448a9..c568c2385 100644 --- a/src/Artemis.Core/Utilities/Easings.cs +++ b/src/Artemis.Core/Utilities/Easings.cs @@ -4,44 +4,6 @@ namespace Artemis.Core.Utilities { public static class Easings { - /// - /// Easing Functions enumeration - /// - public enum Functions - { - Linear, - QuadraticEaseIn, - QuadraticEaseOut, - QuadraticEaseInOut, - CubicEaseIn, - CubicEaseOut, - CubicEaseInOut, - QuarticEaseIn, - QuarticEaseOut, - QuarticEaseInOut, - QuinticEaseIn, - QuinticEaseOut, - QuinticEaseInOut, - SineEaseIn, - SineEaseOut, - SineEaseInOut, - CircularEaseIn, - CircularEaseOut, - CircularEaseInOut, - ExponentialEaseIn, - ExponentialEaseOut, - ExponentialEaseInOut, - ElasticEaseIn, - ElasticEaseOut, - ElasticEaseInOut, - BackEaseIn, - BackEaseOut, - BackEaseInOut, - BounceEaseIn, - BounceEaseOut, - BounceEaseInOut - } - /// /// Constant Pi. /// @@ -178,9 +140,9 @@ namespace Artemis.Core.Utilities } /// - // Modeled after the piecewise quartic - // y = (1/2)((2x)^4) ; [0, 0.5) - // y = -(1/2)((2x-2)^4 - 2) ; [0.5, 1] + /// Modeled after the piecewise quartic + /// y = (1/2)((2x)^4) ; [0, 0.5) + /// y = -(1/2)((2x-2)^4 - 2) ; [0.5, 1] /// public static double QuarticEaseInOut(double p) { @@ -394,5 +356,43 @@ namespace Artemis.Core.Utilities return 0.5 * BounceEaseIn(p * 2); return 0.5 * BounceEaseOut(p * 2 - 1) + 0.5; } + + /// + /// Easing Functions enumeration + /// + public enum Functions + { + Linear, + QuadraticEaseIn, + QuadraticEaseOut, + QuadraticEaseInOut, + CubicEaseIn, + CubicEaseOut, + CubicEaseInOut, + QuarticEaseIn, + QuarticEaseOut, + QuarticEaseInOut, + QuinticEaseIn, + QuinticEaseOut, + QuinticEaseInOut, + SineEaseIn, + SineEaseOut, + SineEaseInOut, + CircularEaseIn, + CircularEaseOut, + CircularEaseInOut, + ExponentialEaseIn, + ExponentialEaseOut, + ExponentialEaseInOut, + ElasticEaseIn, + ElasticEaseOut, + ElasticEaseInOut, + BackEaseIn, + BackEaseOut, + BackEaseInOut, + BounceEaseIn, + BounceEaseOut, + BounceEaseInOut + } } } \ No newline at end of file diff --git a/src/Artemis.UI.Shared/Services/Interfaces/IDialogService.cs b/src/Artemis.UI.Shared/Services/Interfaces/IDialogService.cs index 76cfd2818..d52167d03 100644 --- a/src/Artemis.UI.Shared/Services/Interfaces/IDialogService.cs +++ b/src/Artemis.UI.Shared/Services/Interfaces/IDialogService.cs @@ -10,7 +10,7 @@ namespace Artemis.UI.Shared.Services.Interfaces public interface IDialogService : IArtemisSharedUIService { /// - /// Shows a confirm dialog on the dialog host provided in . + /// Shows a confirm dialog on the dialog host provided /// /// The title of the dialog /// The body text of the dialog @@ -20,7 +20,7 @@ namespace Artemis.UI.Shared.Services.Interfaces Task ShowConfirmDialog(string header, string text, string confirmText = "Confirm", string cancelText = "Cancel"); /// - /// Shows a confirm dialog on the dialog host provided in . + /// Shows a confirm dialog on the dialog host provided in identifier. /// /// /// The identifier of the to use eg. diff --git a/src/Artemis.UI.Shared/Utilities/HitTestUtilities.cs b/src/Artemis.UI.Shared/Utilities/HitTestUtilities.cs index cece0a0f9..2e871f486 100644 --- a/src/Artemis.UI.Shared/Utilities/HitTestUtilities.cs +++ b/src/Artemis.UI.Shared/Utilities/HitTestUtilities.cs @@ -7,8 +7,7 @@ namespace Artemis.UI.Shared.Utilities public static class HitTestUtilities { /// - /// Runs a hit test on children of the container within the rectangle matching all elements that have a data context of - /// . + /// Runs a hit test on children of the container within the rectangle matching all elements that have a data context of T /// /// ///