diff --git a/README.md b/README.md index bda47af..4c2c805 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ dotnet new uninstall Keboo.Dotnet.Templates ``` ## Included Templates +- [Avalonia Solution](./templates/Avalonia/AvaloniaSolution/README.md) - [WPF Solution](./templates/WPF/WpfApp/README.md) - [NuGet Package Solution](./templates/Library/NuGet/README.md) - [System.CommandLine Solution](./templates/Console/ConsoleApp/README.md) diff --git a/templates/Avalonia/AvaloniaSolution/README.md b/templates/Avalonia/AvaloniaSolution/README.md new file mode 100644 index 0000000..c2966c4 --- /dev/null +++ b/templates/Avalonia/AvaloniaSolution/README.md @@ -0,0 +1,27 @@ +# Avalonia solution template +This template creates a solution with all needed projects for an [Avalonia UI project](https://avaloniaui.net/). + + +## Template +Create a new app in your current directory by running. + +```cli +> dotnet new keboo.avalonia +``` + +### Parameters +[Default template options](https://learn.microsoft.com/dotnet/core/tools/dotnet-new#options) + +## Key Features + +### Build Customization +[Docs](https://learn.microsoft.com/visualstudio/msbuild/customize-by-directory?view=vs-2022&WT.mc_id=DT-MVP-5003472) + +### Centralized Package Management +[Docs](https://learn.microsoft.com/nuget/consume-packages/Central-Package-Management?WT.mc_id=DT-MVP-5003472) + +### CommunityToolkit MVVM +[Docs](https://learn.microsoft.com/dotnet/communitytoolkit/mvvm/?WT.mc_id=DT-MVP-5003472) + +### NuGet package source mapping +[Docs](https://learn.microsoft.com/nuget/consume-packages/package-source-mapping?WT.mc_id=DT-MVP-5003472) \ No newline at end of file diff --git a/templates/Avalonia/AvaloniaSolution/SampleAvaloniaApplication/Views/MainView.axaml b/templates/Avalonia/AvaloniaSolution/SampleAvaloniaApplication/Views/MainView.axaml index fd44384..a925d4c 100644 --- a/templates/Avalonia/AvaloniaSolution/SampleAvaloniaApplication/Views/MainView.axaml +++ b/templates/Avalonia/AvaloniaSolution/SampleAvaloniaApplication/Views/MainView.axaml @@ -7,8 +7,10 @@ x:Class="SampleAvaloniaApplication.Views.MainView" x:DataType="vm:MainViewModel"> - + diff --git a/templates/Avalonia/AvaloniaSolution/SampleAvaloniaApplication/Views/MainView.axaml.cs b/templates/Avalonia/AvaloniaSolution/SampleAvaloniaApplication/Views/MainView.axaml.cs index c487faf..931e3da 100644 --- a/templates/Avalonia/AvaloniaSolution/SampleAvaloniaApplication/Views/MainView.axaml.cs +++ b/templates/Avalonia/AvaloniaSolution/SampleAvaloniaApplication/Views/MainView.axaml.cs @@ -6,11 +6,13 @@ namespace SampleAvaloniaApplication.Views; public partial class MainView : UserControl { + // This constructor is used when the view is created by the XAML Previewer public MainView() { InitializeComponent(); } + // This constructor is used when the view is created via dependency injection public MainView(MainViewModel viewModel) : this() { diff --git a/templates/Avalonia/AvaloniaSolution/SampleAvaloniaApplication/Views/MainWindow.axaml.cs b/templates/Avalonia/AvaloniaSolution/SampleAvaloniaApplication/Views/MainWindow.axaml.cs index 9d7db97..da90dab 100644 --- a/templates/Avalonia/AvaloniaSolution/SampleAvaloniaApplication/Views/MainWindow.axaml.cs +++ b/templates/Avalonia/AvaloniaSolution/SampleAvaloniaApplication/Views/MainWindow.axaml.cs @@ -4,11 +4,13 @@ namespace SampleAvaloniaApplication.Views; public partial class MainWindow : Window { + // This constructor is used when the view is created by the XAML Previewer public MainWindow() { InitializeComponent(); } + // This constructor is used when the view is created via dependency injection public MainWindow(MainView mainView) : this() { diff --git a/templates/Console/ConsoleApp/README.md b/templates/Console/ConsoleApp/README.md index 77ed2f2..046ad67 100644 --- a/templates/Console/ConsoleApp/README.md +++ b/templates/Console/ConsoleApp/README.md @@ -13,4 +13,12 @@ Create a new app in your current directory by running. [Default template options](https://learn.microsoft.com/dotnet/core/tools/dotnet-new#options) ## Key Features -*TODO* \ No newline at end of file + +### Build Customization +[Docs](https://learn.microsoft.com/visualstudio/msbuild/customize-by-directory?view=vs-2022&WT.mc_id=DT-MVP-5003472) + +### Centralized Package Management +[Docs](https://learn.microsoft.com/nuget/consume-packages/Central-Package-Management?WT.mc_id=DT-MVP-5003472) + +### NuGet package source mapping +[Docs](https://learn.microsoft.com/nuget/consume-packages/package-source-mapping?WT.mc_id=DT-MVP-5003472) \ No newline at end of file diff --git a/templates/Library/NuGet/README.md b/templates/Library/NuGet/README.md index c830312..8f8e8ec 100644 --- a/templates/Library/NuGet/README.md +++ b/templates/Library/NuGet/README.md @@ -13,4 +13,12 @@ Create a new app in your current directory by running. [Default template options](https://learn.microsoft.com/dotnet/core/tools/dotnet-new#options) ## Key Features -*TODO* \ No newline at end of file + +### Build Customization +[Docs](https://learn.microsoft.com/visualstudio/msbuild/customize-by-directory?view=vs-2022&WT.mc_id=DT-MVP-5003472) + +### Centralized Package Management +[Docs](https://learn.microsoft.com/nuget/consume-packages/Central-Package-Management?WT.mc_id=DT-MVP-5003472) + +### NuGet package source mapping +[Docs](https://learn.microsoft.com/nuget/consume-packages/package-source-mapping?WT.mc_id=DT-MVP-5003472) \ No newline at end of file diff --git a/templates/WPF/WpfApp/README.md b/templates/WPF/WpfApp/README.md index 0e8336b..ae0e549 100644 --- a/templates/WPF/WpfApp/README.md +++ b/templates/WPF/WpfApp/README.md @@ -14,22 +14,35 @@ Create a new app in your current directory by running. ## Key Features ### Generic Host Dependency Injection -*TODO* +[Docs](https://learn.microsoft.com/dotnet/core/extensions/generic-host?tabs=appbuilder&WT.mc_id=DT-MVP-5003472) -### CEntralized Package Management -*TODO* +### Centralized Package Management +[Docs](https://learn.microsoft.com/nuget/consume-packages/Central-Package-Management?WT.mc_id=DT-MVP-5003472) ### Build Customization -*TODO* +[Docs](https://learn.microsoft.com/visualstudio/msbuild/customize-by-directory?view=vs-2022&WT.mc_id=DT-MVP-5003472) ### CommunityToolkit MVVM -*TODO* +[Docs](https://learn.microsoft.com/dotnet/communitytoolkit/mvvm/?WT.mc_id=DT-MVP-5003472) ### Material Design in XAML -*TODO* +[Repo](https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit) ### .editorconfig formatting -*TODO* +[Docs](https://learn.microsoft.com/dotnet/fundamentals/code-analysis/code-style-rule-options?WT.mc_id=DT-MVP-5003472) ### Testing with Moq.AutoMocker -*TODO* \ No newline at end of file +[Repo](https://github.com/moq/Moq.AutoMocker) + +### NuGet package source mapping +[Docs](https://learn.microsoft.com/nuget/consume-packages/package-source-mapping?WT.mc_id=DT-MVP-5003472) + +### Dependabot auto updating of dependencies +[Docs](https://docs.github.com/code-security/dependabot/dependabot-version-updates) +Auto merging of these PRs done with [fastify/github-action-merge-dependabot](https://github.com/fastify/github-action-merge-dependabot). + +### GitHub Actions workflow with code coverage reporting +[Docs](https://docs.github.com/actions). +Code coverage provided by [coverlet-coverage/coverlet](https://github.com/coverlet-coverage/coverlet). +Code coverage report provided by [danielpalme/ReportGenerator-GitHub-Action](https://github.com/danielpalme/ReportGenerator-GitHub-Action). +The coverage reports are posted as "stciky" PR comments provided by [marocchino/sticky-pull-request-comment](https://github.com/marocchino/sticky-pull-request-comment) \ No newline at end of file