From 1933486177ed63e5486d1df6364ef1f23fb20dc4 Mon Sep 17 00:00:00 2001 From: guardrex <1622880+guardrex@users.noreply.github.com> Date: Thu, 10 Feb 2022 07:34:06 -0600 Subject: [PATCH 1/2] Blazor tutorial organization --- .openpublishing.redirection.json | 25 ++++- aspnetcore/blazor/debug.md | 8 +- aspnetcore/blazor/fundamentals/signalr.md | 12 +-- aspnetcore/blazor/hosting-models.md | 4 +- aspnetcore/blazor/index.md | 2 +- .../javascript-interoperability/index.md | 4 +- aspnetcore/blazor/tooling.md | 4 +- aspnetcore/blazor/tutorials.md | 54 ---------- .../tutorials/build-a-blazor-app.md | 2 +- aspnetcore/blazor/tutorials/index.md | 24 +++++ .../{ => blazor}/tutorials/signalr-blazor.md | 98 +++++++++--------- .../_static/signalr-blazor-finished.png | Bin .../signalr-blazor/samples/.gitignore | 0 .../3.1/BlazorServerSignalRApp/App.razor | 0 .../BlazorServerSignalRApp.csproj | 0 .../Data/WeatherForecast.cs | 0 .../Data/WeatherForecastService.cs | 0 .../BlazorServerSignalRApp/Hubs/ChatHub.cs | 0 .../Pages/Counter.razor | 0 .../BlazorServerSignalRApp/Pages/Error.cshtml | 0 .../Pages/FetchData.razor | 0 .../BlazorServerSignalRApp/Pages/Index.razor | 0 .../BlazorServerSignalRApp/Pages/_Host.cshtml | 0 .../3.1/BlazorServerSignalRApp/Program.cs | 0 .../Shared/MainLayout.razor | 0 .../Shared/NavMenu.razor | 0 .../Shared/SurveyPrompt.razor | 0 .../3.1}/BlazorServerSignalRApp/Startup.cs | 0 .../3.1/BlazorServerSignalRApp/_Imports.razor | 0 .../appsettings.Development.json | 0 .../BlazorServerSignalRApp/appsettings.json | 0 .../wwwroot/css/bootstrap/bootstrap.min.css | 0 .../css/bootstrap/bootstrap.min.css.map | 0 .../wwwroot/css/open-iconic/FONT-LICENSE | 0 .../wwwroot/css/open-iconic/ICON-LICENSE | 0 .../wwwroot/css/open-iconic/README.md | 0 .../font/css/open-iconic-bootstrap.min.css | 0 .../open-iconic/font/fonts/open-iconic.eot | Bin .../open-iconic/font/fonts/open-iconic.otf | Bin .../open-iconic/font/fonts/open-iconic.svg | 0 .../open-iconic/font/fonts/open-iconic.ttf | Bin .../open-iconic/font/fonts/open-iconic.woff | Bin .../wwwroot/css/site.css | 0 .../wwwroot/favicon.ico | Bin .../Client/App.razor | 0 .../BlazorWebAssemblySignalRApp.Client.csproj | 0 .../Client/Pages/Counter.razor | 0 .../Client/Pages/FetchData.razor | 0 .../Client/Pages/Index.razor | 0 .../Client/Program.cs | 0 .../Client/Shared/MainLayout.razor | 0 .../Client/Shared/NavMenu.razor | 0 .../Client/Shared/SurveyPrompt.razor | 0 .../Client/_Imports.razor | 0 .../wwwroot/css/bootstrap/bootstrap.min.css | 0 .../css/bootstrap/bootstrap.min.css.map | 0 .../wwwroot/css/open-iconic/FONT-LICENSE | 0 .../wwwroot/css/open-iconic/ICON-LICENSE | 0 .../Client/wwwroot/css/open-iconic/README.md | 0 .../font/css/open-iconic-bootstrap.min.css | 0 .../open-iconic/font/fonts/open-iconic.eot | Bin .../open-iconic/font/fonts/open-iconic.otf | Bin .../open-iconic/font/fonts/open-iconic.svg | 0 .../open-iconic/font/fonts/open-iconic.ttf | Bin .../open-iconic/font/fonts/open-iconic.woff | Bin .../Client/wwwroot/css/site.css | 0 .../Client/wwwroot/index.html | 0 .../BlazorWebAssemblySignalRApp.Server.csproj | 0 .../Controllers/WeatherForecastController.cs | 0 .../Server/Hubs/ChatHub.cs | 0 .../Server/Program.cs | 0 .../Server/Startup.cs | 0 .../BlazorWebAssemblySignalRApp.Shared.csproj | 0 .../Shared/WeatherForecast.cs | 0 .../5.0/BlazorServerSignalRApp}/App.razor | 0 .../BlazorServerSignalRApp.csproj | 0 .../Data/WeatherForecast.cs | 0 .../Data/WeatherForecastService.cs | 0 .../BlazorServerSignalRApp/Hubs/ChatHub.cs | 0 .../Pages/Counter.razor | 0 .../BlazorServerSignalRApp/Pages/Error.cshtml | 0 .../Pages/Error.cshtml.cs | 0 .../Pages/FetchData.razor | 0 .../BlazorServerSignalRApp/Pages/Index.razor | 0 .../BlazorServerSignalRApp/Pages/_Host.cshtml | 0 .../5.0/BlazorServerSignalRApp/Program.cs | 0 .../Shared/MainLayout.razor | 0 .../Shared/MainLayout.razor.css | 0 .../Shared/NavMenu.razor | 0 .../Shared/NavMenu.razor.css | 0 .../Shared/SurveyPrompt.razor | 0 .../5.0}/BlazorServerSignalRApp/Startup.cs | 0 .../BlazorServerSignalRApp/_Imports.razor | 0 .../appsettings.Development.json | 0 .../BlazorServerSignalRApp/appsettings.json | 0 .../wwwroot/css/bootstrap/bootstrap.min.css | 0 .../css/bootstrap/bootstrap.min.css.map | 0 .../wwwroot/css/open-iconic/FONT-LICENSE | 0 .../wwwroot/css/open-iconic/ICON-LICENSE | 0 .../wwwroot/css/open-iconic/README.md | 0 .../font/css/open-iconic-bootstrap.min.css | 0 .../open-iconic/font/fonts/open-iconic.eot | Bin .../open-iconic/font/fonts/open-iconic.otf | Bin .../open-iconic/font/fonts/open-iconic.svg | 0 .../open-iconic/font/fonts/open-iconic.ttf | Bin .../open-iconic/font/fonts/open-iconic.woff | Bin .../wwwroot/css/site.css | 0 .../wwwroot/favicon.ico | Bin .../Client}/App.razor | 0 .../BlazorWebAssemblySignalRApp.Client.csproj | 0 .../Client/Pages/Counter.razor | 0 .../Client/Pages/FetchData.razor | 0 .../Client/Pages/Index.razor | 0 .../Client/Program.cs | 0 .../Client/Shared/MainLayout.razor | 0 .../Client/Shared/MainLayout.razor.css | 0 .../Client/Shared/NavMenu.razor | 0 .../Client/Shared/NavMenu.razor.css | 0 .../Client/Shared/SurveyPrompt.razor | 0 .../Client/_Imports.razor | 0 .../Client/wwwroot/css/app.css | 0 .../wwwroot/css/bootstrap/bootstrap.min.css | 0 .../css/bootstrap/bootstrap.min.css.map | 0 .../wwwroot/css/open-iconic/FONT-LICENSE | 0 .../wwwroot/css/open-iconic/ICON-LICENSE | 0 .../Client/wwwroot/css/open-iconic/README.md | 0 .../font/css/open-iconic-bootstrap.min.css | 0 .../open-iconic/font/fonts/open-iconic.eot | Bin .../open-iconic/font/fonts/open-iconic.otf | Bin .../open-iconic/font/fonts/open-iconic.svg | 0 .../open-iconic/font/fonts/open-iconic.ttf | Bin .../open-iconic/font/fonts/open-iconic.woff | Bin .../Client/wwwroot/index.html | 0 .../BlazorWebAssemblySignalRApp.Server.csproj | 0 .../Controllers/WeatherForecastController.cs | 0 .../Server/Hubs/ChatHub.cs | 0 .../Server/Program.cs | 0 .../Server/Startup.cs | 0 .../Server/appsettings.json | 0 .../BlazorWebAssemblySignalRApp.Shared.csproj | 0 .../Shared/WeatherForecast.cs | 0 .../6.0/BlazorServerSignalRApp}/App.razor | 0 .../BlazorServerSignalRApp.csproj | 0 .../Data/WeatherForecast.cs | 0 .../Data/WeatherForecastService.cs | 0 .../BlazorServerSignalRApp/Hubs/ChatHub.cs | 0 .../Pages/Counter.razor | 0 .../BlazorServerSignalRApp/Pages/Error.cshtml | 0 .../Pages/Error.cshtml.cs | 0 .../Pages/FetchData.razor | 0 .../BlazorServerSignalRApp/Pages/Index.razor | 0 .../BlazorServerSignalRApp/Pages/_Host.cshtml | 0 .../Pages/_Layout.cshtml | 0 .../6.0/BlazorServerSignalRApp/Program.cs | 0 .../Shared/MainLayout.razor | 0 .../Shared/MainLayout.razor.css | 0 .../Shared/NavMenu.razor | 0 .../Shared/NavMenu.razor.css | 0 .../Shared/SurveyPrompt.razor | 0 .../BlazorServerSignalRApp/_Imports.razor | 0 .../appsettings.Development.json | 0 .../BlazorServerSignalRApp}/appsettings.json | 0 .../wwwroot/css/bootstrap/bootstrap.min.css | 0 .../css/bootstrap/bootstrap.min.css.map | 0 .../wwwroot/css/open-iconic/FONT-LICENSE | 0 .../wwwroot/css/open-iconic/ICON-LICENSE | 0 .../wwwroot/css/open-iconic/README.md | 0 .../font/css/open-iconic-bootstrap.min.css | 0 .../open-iconic/font/fonts/open-iconic.eot | Bin .../open-iconic/font/fonts/open-iconic.otf | Bin .../open-iconic/font/fonts/open-iconic.svg | 0 .../open-iconic/font/fonts/open-iconic.ttf | Bin .../open-iconic/font/fonts/open-iconic.woff | Bin .../wwwroot/css/site.css | 0 .../wwwroot/favicon.ico | Bin .../Client}/App.razor | 0 .../BlazorWebAssemblySignalRApp.Client.csproj | 0 .../Client}/Pages/Counter.razor | 0 .../Client/Pages/FetchData.razor | 0 .../Client/Pages/Index.razor | 0 .../Client/Program.cs | 0 .../Client/Shared/MainLayout.razor | 0 .../Client/Shared/MainLayout.razor.css | 0 .../Client/Shared/NavMenu.razor | 0 .../Client}/Shared/NavMenu.razor.css | 0 .../Client/Shared/SurveyPrompt.razor | 0 .../Client/_Imports.razor | 0 .../Client/wwwroot/css/app.css | 0 .../wwwroot/css/bootstrap/bootstrap.min.css | 0 .../css/bootstrap/bootstrap.min.css.map | 0 .../wwwroot/css/open-iconic/FONT-LICENSE | 0 .../wwwroot/css/open-iconic/ICON-LICENSE | 0 .../Client}/wwwroot/css/open-iconic/README.md | 0 .../font/css/open-iconic-bootstrap.min.css | 0 .../open-iconic/font/fonts/open-iconic.eot | Bin .../open-iconic/font/fonts/open-iconic.otf | Bin .../open-iconic/font/fonts/open-iconic.svg | 0 .../open-iconic/font/fonts/open-iconic.ttf | Bin .../open-iconic/font/fonts/open-iconic.woff | Bin .../Client}/wwwroot/favicon.ico | Bin .../Client/wwwroot/icon-192.png | Bin .../Client/wwwroot/index.html | 0 .../BlazorWebAssemblySignalRApp.Server.csproj | 0 .../Controllers/WeatherForecastController.cs | 0 .../Server/Hubs/ChatHub.cs | 0 .../Server/Pages/Error.cshtml | 0 .../Server/Pages/Error.cshtml.cs | 0 .../Server/Program.cs | 0 .../Server/Readme.txt | 0 .../Server/appsettings.Development.json | 0 .../Server}/appsettings.json | 0 .../BlazorWebAssemblySignalRApp.Shared.csproj | 0 .../Shared/WeatherForecast.cs | 0 aspnetcore/index.yml | 4 +- aspnetcore/toc.yml | 27 ++--- 215 files changed, 128 insertions(+), 140 deletions(-) delete mode 100644 aspnetcore/blazor/tutorials.md rename aspnetcore/{ => blazor}/tutorials/build-a-blazor-app.md (99%) create mode 100644 aspnetcore/blazor/tutorials/index.md rename aspnetcore/{ => blazor}/tutorials/signalr-blazor.md (92%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/_static/signalr-blazor-finished.png (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/.gitignore (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/App.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorServerSignalRApp/Data/WeatherForecast.cs (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorServerSignalRApp/Data/WeatherForecastService.cs (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorServerSignalRApp/Hubs/ChatHub.cs (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorServerSignalRApp/Pages/Counter.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/Error.cshtml (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorServerSignalRApp/Pages/FetchData.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/Index.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/_Host.cshtml (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Program.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Shared/MainLayout.razor (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorServerSignalRApp/Shared/NavMenu.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Shared/SurveyPrompt.razor (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorServerSignalRApp/Startup.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/_Imports.razor (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorServerSignalRApp/appsettings.Development.json (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorServerSignalRApp/appsettings.json (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp}/wwwroot/css/bootstrap/bootstrap.min.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp}/wwwroot/css/bootstrap/bootstrap.min.css.map (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp}/wwwroot/css/open-iconic/FONT-LICENSE (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp}/wwwroot/css/open-iconic/ICON-LICENSE (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp}/wwwroot/css/open-iconic/README.md (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.eot (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.otf (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.svg (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.woff (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/site.css (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/favicon.ico (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/App.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorWebAssemblySignalRApp/Client/Pages/Counter.razor (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorWebAssemblySignalRApp/Client/Pages/FetchData.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Program.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorWebAssemblySignalRApp/Client/Shared/SurveyPrompt.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/_Imports.razor (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/bootstrap/bootstrap.min.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/bootstrap/bootstrap.min.css.map (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/FONT-LICENSE (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/ICON-LICENSE (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/README.md (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.eot (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.otf (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.svg (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.woff (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/site.css (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/index.html (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorWebAssemblySignalRApp/Server/Controllers/WeatherForecastController.cs (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Program.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Startup.cs (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorWebAssemblySignalRApp/Shared/BlazorWebAssemblySignalRApp.Shared.csproj (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/3.1}/BlazorWebAssemblySignalRApp/Shared/WeatherForecast.cs (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp}/App.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorServerSignalRApp/Data/WeatherForecast.cs (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorServerSignalRApp/Data/WeatherForecastService.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Hubs/ChatHub.cs (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorServerSignalRApp/Pages/Counter.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Error.cshtml (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Error.cshtml.cs (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorServerSignalRApp/Pages/FetchData.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Index.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/_Host.cshtml (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Program.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/MainLayout.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/MainLayout.razor.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorServerSignalRApp/Shared/NavMenu.razor (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp}/Shared/NavMenu.razor.css (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/SurveyPrompt.razor (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorServerSignalRApp/Startup.cs (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorServerSignalRApp/_Imports.razor (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorServerSignalRApp/appsettings.Development.json (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorServerSignalRApp/appsettings.json (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp}/wwwroot/css/bootstrap/bootstrap.min.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp}/wwwroot/css/bootstrap/bootstrap.min.css.map (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp}/wwwroot/css/open-iconic/FONT-LICENSE (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp}/wwwroot/css/open-iconic/ICON-LICENSE (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorServerSignalRApp/wwwroot/css/open-iconic/README.md (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.eot (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.otf (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.svg (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.woff (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/site.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp}/wwwroot/favicon.ico (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client}/App.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorWebAssemblySignalRApp/Client/Pages/Counter.razor (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorWebAssemblySignalRApp/Client/Pages/FetchData.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Program.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorWebAssemblySignalRApp/Client/Shared/SurveyPrompt.razor (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorWebAssemblySignalRApp/Client/_Imports.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/app.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/bootstrap/bootstrap.min.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/bootstrap/bootstrap.min.css.map (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/FONT-LICENSE (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/ICON-LICENSE (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/README.md (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.eot (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.otf (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.svg (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.woff (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorWebAssemblySignalRApp/Client/wwwroot/index.html (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorWebAssemblySignalRApp/Server/Controllers/WeatherForecastController.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Program.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Startup.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/appsettings.json (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorWebAssemblySignalRApp/Shared/BlazorWebAssemblySignalRApp.Shared.csproj (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/5.0}/BlazorWebAssemblySignalRApp/Shared/WeatherForecast.cs (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp}/App.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Data/WeatherForecast.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Data/WeatherForecastService.cs (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/6.0}/BlazorServerSignalRApp/Hubs/ChatHub.cs (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp}/Pages/Counter.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Error.cshtml (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Error.cshtml.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/FetchData.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Index.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/_Host.cshtml (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/_Layout.cshtml (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Program.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/MainLayout.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/MainLayout.razor.css (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/NavMenu.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/NavMenu.razor.css (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/SurveyPrompt.razor (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/6.0}/BlazorServerSignalRApp/_Imports.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/appsettings.Development.json (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server => blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp}/appsettings.json (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp}/wwwroot/css/bootstrap/bootstrap.min.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp}/wwwroot/css/bootstrap/bootstrap.min.css.map (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp}/wwwroot/css/open-iconic/FONT-LICENSE (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp}/wwwroot/css/open-iconic/ICON-LICENSE (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/6.0}/BlazorServerSignalRApp/wwwroot/css/open-iconic/README.md (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.eot (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.otf (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.svg (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client => blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.woff (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/site.css (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/favicon.ico (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client}/App.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client}/Pages/Counter.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Pages/FetchData.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Program.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor.css (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client}/Shared/NavMenu.razor.css (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/SurveyPrompt.razor (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/6.0}/BlazorWebAssemblySignalRApp/Client/_Imports.razor (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/app.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/bootstrap/bootstrap.min.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/bootstrap/bootstrap.min.css.map (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/FONT-LICENSE (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/ICON-LICENSE (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/README.md (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.eot (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.otf (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.svg (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.woff (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client}/wwwroot/favicon.ico (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/icon-192.png (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/5.0 => blazor/tutorials/signalr-blazor/samples/6.0}/BlazorWebAssemblySignalRApp/Client/wwwroot/index.html (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Controllers/WeatherForecastController.cs (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/3.1 => blazor/tutorials/signalr-blazor/samples/6.0}/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Pages/Error.cshtml (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Pages/Error.cshtml.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Program.cs (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Readme.txt (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/appsettings.Development.json (100%) rename aspnetcore/{tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp => blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server}/appsettings.json (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Shared/BlazorWebAssemblySignalRApp.Shared.csproj (100%) rename aspnetcore/{ => blazor}/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Shared/WeatherForecast.cs (100%) diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index e2d0ce84d595..e04c75211bc0 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -802,12 +802,12 @@ }, { "source_path": "aspnetcore/razor-components/get-started.md", - "redirect_url": "https://dotnet.microsoft.com/learn/aspnet/blazor-tutorial/intro", + "redirect_url": "/aspnet/core/blazor/tutorials/", "redirect_document_id": false }, { "source_path": "aspnetcore/client-side/spa/blazor/get-started.md", - "redirect_url": "https://dotnet.microsoft.com/learn/aspnet/blazor-tutorial/intro", + "redirect_url": "/aspnet/core/blazor/tutorials/", "redirect_document_id": false }, { @@ -882,7 +882,7 @@ }, { "source_path": "aspnetcore/tutorials/build-your-first-razor-components-app.md", - "redirect_url": "/aspnet/core/tutorials/build-a-blazor-app", + "redirect_url": "/aspnet/core/blazor/tutorials/", "redirect_document_id": false }, { @@ -1087,12 +1087,12 @@ }, { "source_path": "aspnetcore/tutorials/build-your-first-blazor-app.md", - "redirect_url": "https://dotnet.microsoft.com/learn/aspnet/blazor-tutorial/intro", + "redirect_url": "/aspnet/core/blazor/tutorials/", "redirect_document_id": false }, { "source_path": "aspnetcore/blazor/get-started.md", - "redirect_url": "https://dotnet.microsoft.com/learn/aspnet/blazor-tutorial/intro", + "redirect_url": "/aspnet/core/blazor/tutorials/", "redirect_document_id": false }, { @@ -1158,6 +1158,21 @@ "source_path": "aspnetcore/blazor/webassembly-performance-best-practices.md", "redirect_url": "/aspnet/core/blazor/performance", "redirect_document_id": false + }, + { + "source_path": "aspnetcore/blazor/tutorials.md", + "redirect_url": "/aspnet/core/blazor/tutorials/", + "redirect_document_id": false + }, + { + "source_path": "aspnetcore/tutorials/build-a-blazor-app.md", + "redirect_url": "/aspnet/core/blazor/tutorials/build-a-blazor-app", + "redirect_document_id": false + }, + { + "source_path": "aspnetcore/tutorials/signalr-blazor.md", + "redirect_url": "/aspnet/core/blazor/tutorials/signalr-blazor", + "redirect_document_id": false } ] } diff --git a/aspnetcore/blazor/debug.md b/aspnetcore/blazor/debug.md index bcd3fd77f351..fb300a3881f1 100644 --- a/aspnetcore/blazor/debug.md +++ b/aspnetcore/blazor/debug.md @@ -582,7 +582,7 @@ If Microsoft Edge is used for debugging instead of Google Chrome, the `.vscode/l "browser": "edge" ``` -The `.vscode/tasks.json` file adds the **`Server`** app's project file path to the `dotnet build` arguments under `args`. The **`Server`** project's folder is typically named `Server` in a solution based on the hosted Blazor WebAssembly project template. The following example uses the project file for the **`Server`** app of the [Blazor-SignalR tutorial](xref:tutorials/signalr-blazor)), which has a project file named `BlazorWebAssemblySignalRApp.Server.csproj`: +The `.vscode/tasks.json` file adds the **`Server`** app's project file path to the `dotnet build` arguments under `args`. The **`Server`** project's folder is typically named `Server` in a solution based on the hosted Blazor WebAssembly project template. The following example uses the project file for the **`Server`** app of the [Blazor-SignalR tutorial](xref:blazor/tutorials/signalr-blazor)), which has a project file named `BlazorWebAssemblySignalRApp.Server.csproj`: ```json { @@ -603,7 +603,7 @@ The `.vscode/tasks.json` file adds the **`Server`** app's project file path to t } ``` -The **`Server`** project's `Properties/launchSettings.json` file includes the `inspectUri` property for the debugging proxy. The following example names the launch profile for the **`Server`** app of the [Blazor-SignalR tutorial](xref:tutorials/signalr-blazor)), which is `BlazorWebAssemblySignalRApp.Server`: +The **`Server`** project's `Properties/launchSettings.json` file includes the `inspectUri` property for the debugging proxy. The following example names the launch profile for the **`Server`** app of the [Blazor-SignalR tutorial](xref:blazor/tutorials/signalr-blazor)), which is `BlazorWebAssemblySignalRApp.Server`: ```json { @@ -997,7 +997,7 @@ If Microsoft Edge is used for debugging instead of Google Chrome, the `.vscode/l "browser": "edge" ``` -The `.vscode/tasks.json` file adds the **`Server`** app's project file path to the `dotnet build` arguments under `args`. The **`Server`** project's folder is typically named `Server` in a solution based on the hosted Blazor WebAssembly project template. The following example uses the project file for the **`Server`** app of the [Blazor-SignalR tutorial](xref:tutorials/signalr-blazor)), which has a project file named `BlazorWebAssemblySignalRApp.Server.csproj`: +The `.vscode/tasks.json` file adds the **`Server`** app's project file path to the `dotnet build` arguments under `args`. The **`Server`** project's folder is typically named `Server` in a solution based on the hosted Blazor WebAssembly project template. The following example uses the project file for the **`Server`** app of the [Blazor-SignalR tutorial](xref:blazor/tutorials/signalr-blazor)), which has a project file named `BlazorWebAssemblySignalRApp.Server.csproj`: ```json { @@ -1018,7 +1018,7 @@ The `.vscode/tasks.json` file adds the **`Server`** app's project file path to t } ``` -The **`Server`** project's `Properties/launchSettings.json` file includes the `inspectUri` property for the debugging proxy. The following example names the launch profile for the **`Server`** app of the [Blazor-SignalR tutorial](xref:tutorials/signalr-blazor)), which is `BlazorWebAssemblySignalRApp.Server`: +The **`Server`** project's `Properties/launchSettings.json` file includes the `inspectUri` property for the debugging proxy. The following example names the launch profile for the **`Server`** app of the [Blazor-SignalR tutorial](xref:blazor/tutorials/signalr-blazor)), which is `BlazorWebAssemblySignalRApp.Server`: ```json { diff --git a/aspnetcore/blazor/fundamentals/signalr.md b/aspnetcore/blazor/fundamentals/signalr.md index 0934c4def1d5..cdc891fed1c1 100644 --- a/aspnetcore/blazor/fundamentals/signalr.md +++ b/aspnetcore/blazor/fundamentals/signalr.md @@ -15,7 +15,7 @@ uid: blazor/fundamentals/signalr This article explains how to configure and manage SignalR connections in Blazor apps. -For general guidance on ASP.NET Core SignalR configuration, see the topics in the area of the documentation. To configure SignalR [added to a hosted Blazor WebAssembly solution](xref:tutorials/signalr-blazor), see . +For general guidance on ASP.NET Core SignalR configuration, see the topics in the area of the documentation. To configure SignalR [added to a hosted Blazor WebAssembly solution](xref:blazor/tutorials/signalr-blazor), see . ## SignalR cross-origin negotiation for authentication (Blazor WebAssembly) @@ -57,7 +57,7 @@ To configure SignalR's underlying client to send credentials, such as cookies or }).Build(); ``` - The preceding example configures the hub connection URL to the absolute URI address at `/chathub`, which is the URL used in the [SignalR with Blazor tutorial](xref:tutorials/signalr-blazor) in the `Index` component (`Pages/Index.razor`). The URI can also be set via a string, for example `https://signalr.example.com`, or via [configuration](xref:blazor/fundamentals/configuration). + The preceding example configures the hub connection URL to the absolute URI address at `/chathub`, which is the URL used in the [SignalR with Blazor tutorial](xref:blazor/tutorials/signalr-blazor) in the `Index` component (`Pages/Index.razor`). The URI can also be set via a string, for example `https://signalr.example.com`, or via [configuration](xref:blazor/fundamentals/configuration). For more information, see . @@ -330,7 +330,7 @@ When a circuit ends because a user has disconnected and the framework is cleanin This article explains how to configure and manage SignalR connections in Blazor apps. -For general guidance on ASP.NET Core SignalR configuration, see the topics in the area of the documentation. To configure SignalR [added to a hosted Blazor WebAssembly solution](xref:tutorials/signalr-blazor), see . +For general guidance on ASP.NET Core SignalR configuration, see the topics in the area of the documentation. To configure SignalR [added to a hosted Blazor WebAssembly solution](xref:blazor/tutorials/signalr-blazor), see . ## SignalR cross-origin negotiation for authentication (Blazor WebAssembly) @@ -372,7 +372,7 @@ To configure SignalR's underlying client to send credentials, such as cookies or }).Build(); ``` - The preceding example configures the hub connection URL to the absolute URI address at `/chathub`, which is the URL used in the [SignalR with Blazor tutorial](xref:tutorials/signalr-blazor) in the `Index` component (`Pages/Index.razor`). The URI can also be set via a string, for example `https://signalr.example.com`, or via [configuration](xref:blazor/fundamentals/configuration). + The preceding example configures the hub connection URL to the absolute URI address at `/chathub`, which is the URL used in the [SignalR with Blazor tutorial](xref:blazor/tutorials/signalr-blazor) in the `Index` component (`Pages/Index.razor`). The URI can also be set via a string, for example `https://signalr.example.com`, or via [configuration](xref:blazor/fundamentals/configuration). For more information, see . @@ -649,7 +649,7 @@ When a circuit ends because a user has disconnected and the framework is cleanin This article explains how to configure and manage SignalR connections in Blazor apps. -For general guidance on ASP.NET Core SignalR configuration, see the topics in the area of the documentation. To configure SignalR [added to a hosted Blazor WebAssembly solution](xref:tutorials/signalr-blazor), see . +For general guidance on ASP.NET Core SignalR configuration, see the topics in the area of the documentation. To configure SignalR [added to a hosted Blazor WebAssembly solution](xref:blazor/tutorials/signalr-blazor), see . ## SignalR cross-origin negotiation for authentication (Blazor WebAssembly) @@ -691,7 +691,7 @@ To configure SignalR's underlying client to send credentials, such as cookies or }).Build(); ``` - The preceding example configures the hub connection URL to the absolute URI address at `/chathub`, which is the URL used in the [SignalR with Blazor tutorial](xref:tutorials/signalr-blazor) in the `Index` component (`Pages/Index.razor`). The URI can also be set via a string, for example `https://signalr.example.com`, or via [configuration](xref:blazor/fundamentals/configuration). + The preceding example configures the hub connection URL to the absolute URI address at `/chathub`, which is the URL used in the [SignalR with Blazor tutorial](xref:blazor/tutorials/signalr-blazor) in the `Index` component (`Pages/Index.razor`). The URI can also be set via a string, for example `https://signalr.example.com`, or via [configuration](xref:blazor/fundamentals/configuration). For more information, see . diff --git a/aspnetcore/blazor/hosting-models.md b/aspnetcore/blazor/hosting-models.md index 8e497feadd93..f97ee84130ef 100644 --- a/aspnetcore/blazor/hosting-models.md +++ b/aspnetcore/blazor/hosting-models.md @@ -50,7 +50,7 @@ Blazor WebAssembly (WASM) apps run client-side in the browser on a WebAssembly-b When the Blazor WebAssembly app is created for deployment without a backend ASP.NET Core app to serve its files, the app is called a *standalone* Blazor WebAssembly app. When the app is created for deployment with a backend app to serve its files, the app is called a *hosted* Blazor WebAssembly app. -Using hosted Blazor WebAssembly, you get a full-stack web development experience with .NET, including the ability to share code between the client and server apps, support for prerendering, and integration with MVC and Razor Pages. A hosted client app can interact with its backend server app over the network using a variety of messaging frameworks and protocols, such as [web API](xref:web-api/index), [gRPC-web](xref:grpc/index), and [SignalR](xref:signalr/introduction) (). +Using hosted Blazor WebAssembly, you get a full-stack web development experience with .NET, including the ability to share code between the client and server apps, support for prerendering, and integration with MVC and Razor Pages. A hosted client app can interact with its backend server app over the network using a variety of messaging frameworks and protocols, such as [web API](xref:web-api/index), [gRPC-web](xref:grpc/index), and [SignalR](xref:signalr/introduction) (). The `blazor.webassembly.js` script is provided by the framework and handles: @@ -112,4 +112,4 @@ After you choose the app's hosting model, you can generate an app from a Blazor * * * -* +* diff --git a/aspnetcore/blazor/index.md b/aspnetcore/blazor/index.md index aa86d20c364e..3ac825bf94d8 100644 --- a/aspnetcore/blazor/index.md +++ b/aspnetcore/blazor/index.md @@ -154,7 +154,7 @@ APIs that aren't applicable inside of a web browser (for example, accessing the * [WebAssembly](https://webassembly.org) * -* +* * * * [mono/mono GitHub repository](https://github.com/mono/mono) diff --git a/aspnetcore/blazor/javascript-interoperability/index.md b/aspnetcore/blazor/javascript-interoperability/index.md index 987e5192bf86..db7044fc2495 100644 --- a/aspnetcore/blazor/javascript-interoperability/index.md +++ b/aspnetcore/blazor/javascript-interoperability/index.md @@ -1,5 +1,5 @@ --- -title: Blazor JavaScript interoperability (JS interop) +title: ASP.NET Core Blazor JavaScript interoperability (JS interop) author: guardrex description: Learn how to interact with JavaScript in Blazor apps. monikerRange: '>= aspnetcore-3.1' @@ -9,7 +9,7 @@ ms.date: 11/09/2021 no-loc: [Home, Privacy, Kestrel, appsettings.json, "ASP.NET Core Identity", cookie, Cookie, Blazor, "Blazor Server", "Blazor WebAssembly", "Identity", "Let's Encrypt", Razor, SignalR, JS, Promise] uid: blazor/js-interop/index --- -# Blazor JavaScript interoperability (JS interop) +# ASP.NET Core Blazor JavaScript interoperability (JS interop) :::moniker range=">= aspnetcore-6.0" diff --git a/aspnetcore/blazor/tooling.md b/aspnetcore/blazor/tooling.md index 6b73a710cdb2..acc6d1b4a52b 100644 --- a/aspnetcore/blazor/tooling.md +++ b/aspnetcore/blazor/tooling.md @@ -462,7 +462,7 @@ For more information on trusting the ASP.NET Core HTTPS development certificate, * The `{SERVER APP FOLDER}` placeholder is the **`Server`** project's folder, typically "`Server`". * The `{PROJECT NAME}` placeholder is the app's name, typically based on the solution's name followed by "`.Server`" in an app generated from the [Blazor project template](xref:blazor/project-structure). - The following example from the [tutorial for using SignalR with a Blazor WebAssembly app](xref:tutorials/signalr-blazor) uses a project folder name of `Server` and a project name of `BlazorWebAssemblySignalRApp.Server`: + The following example from the [tutorial for using SignalR with a Blazor WebAssembly app](xref:blazor/tutorials/signalr-blazor) uses a project folder name of `Server` and a project name of `BlazorWebAssemblySignalRApp.Server`: ```json ... @@ -693,7 +693,7 @@ When executing a hosted Blazor WebAssembly app, run the app from the solution's * The `{SERVER APP FOLDER}` placeholder is the **`Server`** project's folder, typically "`Server`". * The `{PROJECT NAME}` placeholder is the app's name, typically based on the solution's name followed by "`.Server`" in an app generated from the [Blazor project template](xref:blazor/project-structure). - The following example from the [tutorial for using SignalR with a Blazor WebAssembly app](xref:tutorials/signalr-blazor) uses a project folder name of `Server` and a project name of `BlazorWebAssemblySignalRApp.Server`: + The following example from the [tutorial for using SignalR with a Blazor WebAssembly app](xref:blazor/tutorials/signalr-blazor) uses a project folder name of `Server` and a project name of `BlazorWebAssemblySignalRApp.Server`: ```json ... diff --git a/aspnetcore/blazor/tutorials.md b/aspnetcore/blazor/tutorials.md deleted file mode 100644 index bf98d54dbda3..000000000000 --- a/aspnetcore/blazor/tutorials.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: ASP.NET Core Blazor tutorials -author: guardrex -description: Learn how to build Blazor apps with the tutorials described by this article. -monikerRange: '>= aspnetcore-3.1' -ms.author: riande -ms.custom: "mvc, seoapril2019" -ms.date: 11/09/2021 -no-loc: [Home, Privacy, Kestrel, appsettings.json, "ASP.NET Core Identity", cookie, Cookie, Blazor, "Blazor Server", "Blazor WebAssembly", "Identity", "Let's Encrypt", Razor, SignalR] -uid: blazor/tutorials ---- -# ASP.NET Core Blazor tutorials - -:::moniker range=">= aspnetcore-6.0" - -The following tutorials are available for ASP.NET Core Blazor: - -* [Build your first Blazor app](https://dotnet.microsoft.com/learn/aspnet/blazor-tutorial/intro) (Blazor Server) - -* (Blazor Server or Blazor WebAssembly) - -* (Blazor Server or Blazor WebAssembly) - -For more information on Blazor hosting models, Blazor Server and Blazor WebAssembly, see . - -:::moniker-end - -:::moniker range=">= aspnetcore-5.0 < aspnetcore-6.0" - -The following tutorials are available for ASP.NET Core Blazor: - -* [Build your first Blazor app](https://dotnet.microsoft.com/learn/aspnet/blazor-tutorial/intro) (Blazor Server) - -* (Blazor Server or Blazor WebAssembly) - -* (Blazor Server or Blazor WebAssembly) - -For more information on Blazor hosting models, Blazor Server and Blazor WebAssembly, see . - -:::moniker-end - -:::moniker range="< aspnetcore-5.0" - -The following tutorials are available for ASP.NET Core Blazor: - -* [Build your first Blazor app](https://dotnet.microsoft.com/learn/aspnet/blazor-tutorial/intro) (Blazor Server) - -* (Blazor Server or Blazor WebAssembly) - -* (Blazor Server or Blazor WebAssembly) - -For more information on Blazor hosting models, Blazor Server and Blazor WebAssembly, see . - -:::moniker-end diff --git a/aspnetcore/tutorials/build-a-blazor-app.md b/aspnetcore/blazor/tutorials/build-a-blazor-app.md similarity index 99% rename from aspnetcore/tutorials/build-a-blazor-app.md rename to aspnetcore/blazor/tutorials/build-a-blazor-app.md index 2feee6c052a8..57ce49333fb2 100644 --- a/aspnetcore/tutorials/build-a-blazor-app.md +++ b/aspnetcore/blazor/tutorials/build-a-blazor-app.md @@ -7,7 +7,7 @@ ms.author: riande ms.custom: mvc ms.date: 11/09/2021 no-loc: [Home, Privacy, Kestrel, appsettings.json, "ASP.NET Core Identity", cookie, Cookie, Blazor, "Blazor Server", "Blazor WebAssembly", "Identity", "Let's Encrypt", Razor, SignalR] -uid: tutorials/build-a-blazor-app +uid: blazor/tutorials/build-a-blazor-app zone_pivot_groups: blazor-hosting-models --- # Build a Blazor todo list app diff --git a/aspnetcore/blazor/tutorials/index.md b/aspnetcore/blazor/tutorials/index.md new file mode 100644 index 000000000000..63832f246a9e --- /dev/null +++ b/aspnetcore/blazor/tutorials/index.md @@ -0,0 +1,24 @@ +--- +title: ASP.NET Core Blazor tutorials +author: guardrex +description: Learn how to build Blazor apps with the tutorials described by this article. +monikerRange: '>= aspnetcore-3.1' +ms.author: riande +ms.custom: mvc +ms.date: 02/10/2022 +no-loc: [Home, Privacy, Kestrel, appsettings.json, "ASP.NET Core Identity", cookie, Cookie, Blazor, "Blazor Server", "Blazor WebAssembly", "Identity", "Let's Encrypt", Razor, SignalR, JS, Promise] +uid: blazor/tutorials/index +--- +# ASP.NET Core Blazor tutorials + +The following tutorials are available for ASP.NET Core Blazor: + +* [Build your first Blazor app](https://dotnet.microsoft.com/learn/aspnet/blazor-tutorial/intro) (Blazor Server) + +* (Blazor Server or Blazor WebAssembly) + +* (Blazor Server or Blazor WebAssembly) + +* [Microsoft Learn modules](/learn/paths/build-web-apps-with-blazor/) + +For more information on Blazor hosting models, Blazor Server and Blazor WebAssembly, see . diff --git a/aspnetcore/tutorials/signalr-blazor.md b/aspnetcore/blazor/tutorials/signalr-blazor.md similarity index 92% rename from aspnetcore/tutorials/signalr-blazor.md rename to aspnetcore/blazor/tutorials/signalr-blazor.md index 5318088db238..a719bdc5f23b 100644 --- a/aspnetcore/tutorials/signalr-blazor.md +++ b/aspnetcore/blazor/tutorials/signalr-blazor.md @@ -7,7 +7,7 @@ ms.author: riande ms.custom: mvc ms.date: 11/09/2021 no-loc: [Home, Privacy, Kestrel, appsettings.json, "ASP.NET Core Identity", cookie, Cookie, Blazor, "Blazor Server", "Blazor WebAssembly", "Identity", "Let's Encrypt", Razor, SignalR] -uid: tutorials/signalr-blazor +uid: blazor/tutorials/signalr-blazor zone_pivot_groups: blazor-hosting-models --- # Use ASP.NET Core SignalR with Blazor @@ -181,7 +181,7 @@ To add an earlier version of the package, supply the `--version {VERSION}` optio In the `BlazorWebAssemblySignalRApp.Server` project, create a `Hubs` (plural) folder and add the following `ChatHub` class (`Hubs/ChatHub.cs`): -[!code-csharp[](~/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs)] +[!code-csharp[](signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs)] ## Add services and an endpoint for the SignalR hub @@ -195,14 +195,14 @@ In the `BlazorWebAssemblySignalRApp.Server` project, create a `Hubs` (plural) fo 1. Add SignalR and Response Compression Middleware services to `Program.cs`: - [!code-csharp[](~/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Program.cs?name=snippet_ConfigureServices)] + [!code-csharp[](signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Program.cs?name=snippet_ConfigureServices)] 1. In `Program.cs`: * Use Response Compression Middleware at the top of the processing pipeline's configuration. * Between the endpoints for controllers and the client-side fallback, add an endpoint for the hub. - [!code-csharp[](~/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Program.cs?name=snippet_Configure)] + [!code-csharp[](signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Program.cs?name=snippet_Configure)] ## Add Razor component code for chat @@ -210,7 +210,7 @@ In the `BlazorWebAssemblySignalRApp.Server` project, create a `Hubs` (plural) fo 1. Replace the markup with the following code: - [!code-razor[](~/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor)] + [!code-razor[](signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor)] ## Run the app @@ -227,7 +227,7 @@ Follow the guidance for your tooling: 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -244,7 +244,7 @@ For information on configuring VS Code assets in the `.vscode` folder, see the * 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -259,7 +259,7 @@ For information on configuring VS Code assets in the `.vscode` folder, see the * 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -279,7 +279,7 @@ For information on configuring VS Code assets in the `.vscode` folder, see the * 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -404,7 +404,7 @@ To add an earlier version of the package, supply the `--version {VERSION}` optio Create a `Hubs` (plural) folder and add the following `ChatHub` class (`Hubs/ChatHub.cs`): -[!code-csharp[](~/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Hubs/ChatHub.cs)] +[!code-csharp[](signalr-blazor/samples/6.0/BlazorServerSignalRApp/Hubs/ChatHub.cs)] ## Add services and an endpoint for the SignalR hub @@ -419,14 +419,14 @@ Create a `Hubs` (plural) folder and add the following `ChatHub` class (`Hubs/Cha 1. Add Response Compression Middleware services to `Program.cs`: - [!code-csharp[](~/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Program.cs?name=snippet_ConfigureServices)] + [!code-csharp[](signalr-blazor/samples/6.0/BlazorServerSignalRApp/Program.cs?name=snippet_ConfigureServices)] 1. In `Program.cs`: * Use Response Compression Middleware at the top of the processing pipeline's configuration. * Between the endpoints for mapping the Blazor hub and the client-side fallback, add an endpoint for the hub. - [!code-csharp[](~/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Program.cs?name=snippet_Configure)] + [!code-csharp[](signalr-blazor/samples/6.0/BlazorServerSignalRApp/Program.cs?name=snippet_Configure)] ## Add Razor component code for chat @@ -434,7 +434,7 @@ Create a `Hubs` (plural) folder and add the following `ChatHub` class (`Hubs/Cha 1. Replace the markup with the following code: - [!code-razor[](~/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Index.razor)] + [!code-razor[](signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Index.razor)] ## Run the app @@ -448,7 +448,7 @@ Follow the guidance for your tooling: 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -460,7 +460,7 @@ Follow the guidance for your tooling: 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -472,7 +472,7 @@ Follow the guidance for your tooling: 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -488,7 +488,7 @@ Follow the guidance for your tooling: 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -690,7 +690,7 @@ To add an earlier version of the package, supply the `--version {VERSION}` optio In the `BlazorWebAssemblySignalRApp.Server` project, create a `Hubs` (plural) folder and add the following `ChatHub` class (`Hubs/ChatHub.cs`): -[!code-csharp[](~/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs)] +[!code-csharp[](signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs)] ## Add services and an endpoint for the SignalR hub @@ -704,14 +704,14 @@ In the `BlazorWebAssemblySignalRApp.Server` project, create a `Hubs` (plural) fo 1. Add SignalR and Response Compression Middleware services to `Startup.ConfigureServices`: - [!code-csharp[](~/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Startup.cs?name=snippet_ConfigureServices&highlight=3,6-10)] + [!code-csharp[](signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Startup.cs?name=snippet_ConfigureServices&highlight=3,6-10)] 1. In `Startup.Configure`: * Use Response Compression Middleware at the top of the processing pipeline's configuration. * Between the endpoints for controllers and the client-side fallback, add an endpoint for the hub. - [!code-csharp[](~/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Startup.cs?name=snippet_Configure&highlight=3,26)] + [!code-csharp[](signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Startup.cs?name=snippet_Configure&highlight=3,26)] ## Add Razor component code for chat @@ -719,7 +719,7 @@ In the `BlazorWebAssemblySignalRApp.Server` project, create a `Hubs` (plural) fo 1. Replace the markup with the following code: - [!code-razor[](~/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor)] + [!code-razor[](signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor)] ## Run the app @@ -736,7 +736,7 @@ Follow the guidance for your tooling: 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -753,7 +753,7 @@ For information on configuring VS Code assets in the `.vscode` folder, see the * 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -768,7 +768,7 @@ For information on configuring VS Code assets in the `.vscode` folder, see the * 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -788,7 +788,7 @@ For information on configuring VS Code assets in the `.vscode` folder, see the * 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -913,7 +913,7 @@ To add an earlier version of the package, supply the `--version {VERSION}` optio Create a `Hubs` (plural) folder and add the following `ChatHub` class (`Hubs/ChatHub.cs`): -[!code-csharp[](~/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Hubs/ChatHub.cs)] +[!code-csharp[](signalr-blazor/samples/5.0/BlazorServerSignalRApp/Hubs/ChatHub.cs)] ## Add services and an endpoint for the SignalR hub @@ -928,14 +928,14 @@ Create a `Hubs` (plural) folder and add the following `ChatHub` class (`Hubs/Cha 1. Add Response Compression Middleware services to `Startup.ConfigureServices`: - [!code-csharp[](~/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Startup.cs?name=snippet_ConfigureServices&highlight=6-10)] + [!code-csharp[](signalr-blazor/samples/5.0/BlazorServerSignalRApp/Startup.cs?name=snippet_ConfigureServices&highlight=6-10)] 1. In `Startup.Configure`: * Use Response Compression Middleware at the top of the processing pipeline's configuration. * Between the endpoints for mapping the Blazor hub and the client-side fallback, add an endpoint for the hub. - [!code-csharp[](~/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Startup.cs?name=snippet_Configure&highlight=3,23)] + [!code-csharp[](signalr-blazor/samples/5.0/BlazorServerSignalRApp/Startup.cs?name=snippet_Configure&highlight=3,23)] ## Add Razor component code for chat @@ -943,7 +943,7 @@ Create a `Hubs` (plural) folder and add the following `ChatHub` class (`Hubs/Cha 1. Replace the markup with the following code: - [!code-razor[](~/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Index.razor)] + [!code-razor[](signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Index.razor)] ## Run the app @@ -957,7 +957,7 @@ Follow the guidance for your tooling: 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -969,7 +969,7 @@ Follow the guidance for your tooling: 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -981,7 +981,7 @@ Follow the guidance for your tooling: 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -997,7 +997,7 @@ Follow the guidance for your tooling: 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -1199,7 +1199,7 @@ To add an earlier version of the package, supply the `--version {VERSION}` optio In the `BlazorWebAssemblySignalRApp.Server` project, create a `Hubs` (plural) folder and add the following `ChatHub` class (`Hubs/ChatHub.cs`): -[!code-csharp[](~/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs)] +[!code-csharp[](signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs)] ## Add services and an endpoint for the SignalR hub @@ -1213,14 +1213,14 @@ In the `BlazorWebAssemblySignalRApp.Server` project, create a `Hubs` (plural) fo 1. Add SignalR and Response Compression Middleware services to `Startup.ConfigureServices`: - [!code-csharp[](~/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Startup.cs?name=snippet_ConfigureServices&highlight=3,5-9)] + [!code-csharp[](signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Startup.cs?name=snippet_ConfigureServices&highlight=3,5-9)] 1. In `Startup.Configure`: * Use Response Compression Middleware at the top of the processing pipeline's configuration. * Between the endpoints for controllers and the client-side fallback, add an endpoint for the hub. - [!code-csharp[](~/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Startup.cs?name=snippet_Configure&highlight=3,25)] + [!code-csharp[](signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Startup.cs?name=snippet_Configure&highlight=3,25)] ## Add Razor component code for chat @@ -1228,7 +1228,7 @@ In the `BlazorWebAssemblySignalRApp.Server` project, create a `Hubs` (plural) fo 1. Replace the markup with the following code: - [!code-razor[](~/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor)] + [!code-razor[](signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor)] ## Run the app @@ -1245,7 +1245,7 @@ Follow the guidance for your tooling: 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -1262,7 +1262,7 @@ For information on configuring VS Code assets in the `.vscode` folder, see the * 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -1277,7 +1277,7 @@ For information on configuring VS Code assets in the `.vscode` folder, see the * 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -1297,7 +1297,7 @@ For information on configuring VS Code assets in the `.vscode` folder, see the * 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -1478,7 +1478,7 @@ To add an earlier version of the package, supply the `--version {VERSION}` optio Create a `Hubs` (plural) folder and add the following `ChatHub` class (`Hubs/ChatHub.cs`): -[!code-csharp[](~/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Hubs/ChatHub.cs)] +[!code-csharp[](signalr-blazor/samples/3.1/BlazorServerSignalRApp/Hubs/ChatHub.cs)] ## Add services and an endpoint for the SignalR hub @@ -1493,14 +1493,14 @@ Create a `Hubs` (plural) folder and add the following `ChatHub` class (`Hubs/Cha 1. Add Response Compression Middleware services to `Startup.ConfigureServices`: - [!code-csharp[](~/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Startup.cs?name=snippet_ConfigureServices&highlight=6-10)] + [!code-csharp[](signalr-blazor/samples/3.1/BlazorServerSignalRApp/Startup.cs?name=snippet_ConfigureServices&highlight=6-10)] 1. In `Startup.Configure`: * Use Response Compression Middleware at the top of the processing pipeline's configuration. * Between the endpoints for mapping the Blazor hub and the client-side fallback, add an endpoint for the hub. - [!code-csharp[](~/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Startup.cs?name=snippet_Configure&highlight=3,23)] + [!code-csharp[](signalr-blazor/samples/3.1/BlazorServerSignalRApp/Startup.cs?name=snippet_Configure&highlight=3,23)] ## Add Razor component code for chat @@ -1508,7 +1508,7 @@ Create a `Hubs` (plural) folder and add the following `ChatHub` class (`Hubs/Cha 1. Replace the markup with the following code: - [!code-razor[](~/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/Index.razor)] + [!code-razor[](signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/Index.razor)] ## Run the app @@ -1522,7 +1522,7 @@ Follow the guidance for your tooling: 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -1534,7 +1534,7 @@ Follow the guidance for your tooling: 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -1546,7 +1546,7 @@ Follow the guidance for your tooling: 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) @@ -1562,7 +1562,7 @@ Follow the guidance for your tooling: 1. Choose either browser, enter a name and message, and select the button to send the message. The name and message are displayed on both pages instantly: - ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](~/tutorials/signalr-blazor/_static/signalr-blazor-finished.png) + ![SignalR Blazor sample app open in two browser windows showing exchanged messages.](signalr-blazor/_static/signalr-blazor-finished.png) Quotes: *Star Trek VI: The Undiscovered Country* ©1991 [Paramount](https://www.paramountmovies.com/movies/star-trek-vi-the-undiscovered-country) diff --git a/aspnetcore/tutorials/signalr-blazor/_static/signalr-blazor-finished.png b/aspnetcore/blazor/tutorials/signalr-blazor/_static/signalr-blazor-finished.png similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/_static/signalr-blazor-finished.png rename to aspnetcore/blazor/tutorials/signalr-blazor/_static/signalr-blazor-finished.png diff --git a/aspnetcore/tutorials/signalr-blazor/samples/.gitignore b/aspnetcore/blazor/tutorials/signalr-blazor/samples/.gitignore similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/.gitignore rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/.gitignore diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/App.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/App.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/App.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/App.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Data/WeatherForecast.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Data/WeatherForecast.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Data/WeatherForecast.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Data/WeatherForecast.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Data/WeatherForecastService.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Data/WeatherForecastService.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Data/WeatherForecastService.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Data/WeatherForecastService.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Hubs/ChatHub.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Hubs/ChatHub.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Hubs/ChatHub.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Hubs/ChatHub.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Counter.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/Counter.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Counter.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/Counter.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/Error.cshtml b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/Error.cshtml similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/Error.cshtml rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/Error.cshtml diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/FetchData.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/FetchData.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/FetchData.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/FetchData.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/Index.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/Index.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/Index.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/Index.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/_Host.cshtml b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/_Host.cshtml similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/_Host.cshtml rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/_Host.cshtml diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Program.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Program.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Program.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Program.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Shared/MainLayout.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Shared/MainLayout.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Shared/MainLayout.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Shared/MainLayout.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/NavMenu.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Shared/NavMenu.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/NavMenu.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Shared/NavMenu.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Shared/SurveyPrompt.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Shared/SurveyPrompt.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Shared/SurveyPrompt.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Shared/SurveyPrompt.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Startup.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Startup.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Startup.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Startup.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/_Imports.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/_Imports.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/_Imports.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/_Imports.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/appsettings.Development.json b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/appsettings.Development.json similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/appsettings.Development.json rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/appsettings.Development.json diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/appsettings.json b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/appsettings.json similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/appsettings.json rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/appsettings.json diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css.map b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css.map similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css.map rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css.map diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/FONT-LICENSE b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/FONT-LICENSE similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/FONT-LICENSE rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/FONT-LICENSE diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/ICON-LICENSE b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/ICON-LICENSE similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/ICON-LICENSE rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/ICON-LICENSE diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/README.md b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/README.md similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/README.md rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/README.md diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.svg rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/site.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/site.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/site.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/site.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/favicon.ico b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/favicon.ico similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/favicon.ico rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/favicon.ico diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/App.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/App.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/App.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/App.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Pages/Counter.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Pages/Counter.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Pages/Counter.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Pages/Counter.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Pages/FetchData.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Pages/FetchData.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Pages/FetchData.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Pages/FetchData.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Program.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Program.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Program.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Program.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/SurveyPrompt.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Shared/SurveyPrompt.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/SurveyPrompt.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Shared/SurveyPrompt.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/_Imports.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/_Imports.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/_Imports.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/_Imports.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css.map b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css.map similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css.map rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css.map diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/FONT-LICENSE b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/FONT-LICENSE similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/FONT-LICENSE rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/FONT-LICENSE diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/ICON-LICENSE b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/ICON-LICENSE similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/ICON-LICENSE rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/ICON-LICENSE diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/README.md b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/README.md similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/README.md rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/README.md diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.svg similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.svg diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/site.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/site.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/site.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/site.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/index.html b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/index.html similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/index.html rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/index.html diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Controllers/WeatherForecastController.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Controllers/WeatherForecastController.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Controllers/WeatherForecastController.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Controllers/WeatherForecastController.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Program.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Program.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Program.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Program.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Startup.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Startup.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Startup.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Startup.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Shared/BlazorWebAssemblySignalRApp.Shared.csproj b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Shared/BlazorWebAssemblySignalRApp.Shared.csproj similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Shared/BlazorWebAssemblySignalRApp.Shared.csproj rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Shared/BlazorWebAssemblySignalRApp.Shared.csproj diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Shared/WeatherForecast.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Shared/WeatherForecast.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Shared/WeatherForecast.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Shared/WeatherForecast.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/App.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/App.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/App.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/App.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Data/WeatherForecast.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Data/WeatherForecast.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Data/WeatherForecast.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Data/WeatherForecast.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Data/WeatherForecastService.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Data/WeatherForecastService.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Data/WeatherForecastService.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Data/WeatherForecastService.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Hubs/ChatHub.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Hubs/ChatHub.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Hubs/ChatHub.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Hubs/ChatHub.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/Counter.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Counter.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/Counter.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Counter.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Error.cshtml b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Error.cshtml similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Error.cshtml rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Error.cshtml diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Error.cshtml.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Error.cshtml.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Error.cshtml.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Error.cshtml.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/FetchData.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/FetchData.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Pages/FetchData.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/FetchData.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Index.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Index.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Index.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/Index.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/_Host.cshtml b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/_Host.cshtml similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/_Host.cshtml rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Pages/_Host.cshtml diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Program.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Program.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Program.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Program.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/MainLayout.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/MainLayout.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/MainLayout.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/MainLayout.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/MainLayout.razor.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/MainLayout.razor.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/MainLayout.razor.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/MainLayout.razor.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Shared/NavMenu.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/NavMenu.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Shared/NavMenu.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/NavMenu.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/NavMenu.razor.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/NavMenu.razor.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/SurveyPrompt.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/SurveyPrompt.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/SurveyPrompt.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/SurveyPrompt.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Startup.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Startup.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Startup.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Startup.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/_Imports.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/_Imports.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/_Imports.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/_Imports.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/appsettings.Development.json b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/appsettings.Development.json similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/appsettings.Development.json rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/appsettings.Development.json diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/appsettings.json b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/appsettings.json similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/appsettings.json rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/appsettings.json diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css.map b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css.map similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css.map rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css.map diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/FONT-LICENSE b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/FONT-LICENSE similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/FONT-LICENSE rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/FONT-LICENSE diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/ICON-LICENSE b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/ICON-LICENSE similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/ICON-LICENSE rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/ICON-LICENSE diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/README.md b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/README.md similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/README.md rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/README.md diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.svg rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/site.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/site.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/site.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/site.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/favicon.ico b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/favicon.ico similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/favicon.ico rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/favicon.ico diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/App.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/App.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/App.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/App.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Pages/Counter.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Pages/Counter.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Pages/Counter.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Pages/Counter.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Pages/FetchData.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Pages/FetchData.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Pages/FetchData.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Pages/FetchData.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Program.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Program.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Program.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Program.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Shared/SurveyPrompt.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/SurveyPrompt.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/Shared/SurveyPrompt.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/Shared/SurveyPrompt.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/_Imports.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/_Imports.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/_Imports.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/_Imports.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/app.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/app.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/app.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/app.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css.map b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css.map similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css.map rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css.map diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/FONT-LICENSE b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/FONT-LICENSE similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/FONT-LICENSE rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/FONT-LICENSE diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/ICON-LICENSE b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/ICON-LICENSE similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/ICON-LICENSE rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/ICON-LICENSE diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/README.md b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/README.md similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/README.md rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/README.md diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.svg similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.svg diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/index.html b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/index.html similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/index.html rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/index.html diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Controllers/WeatherForecastController.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Controllers/WeatherForecastController.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Controllers/WeatherForecastController.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Controllers/WeatherForecastController.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Program.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Program.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Program.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Program.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Startup.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Startup.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Startup.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/Startup.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/appsettings.json b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/appsettings.json similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/appsettings.json rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Server/appsettings.json diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Shared/BlazorWebAssemblySignalRApp.Shared.csproj b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Shared/BlazorWebAssemblySignalRApp.Shared.csproj similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Shared/BlazorWebAssemblySignalRApp.Shared.csproj rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Shared/BlazorWebAssemblySignalRApp.Shared.csproj diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Shared/WeatherForecast.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Shared/WeatherForecast.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Shared/WeatherForecast.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Shared/WeatherForecast.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/App.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/App.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/App.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/App.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Data/WeatherForecast.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Data/WeatherForecast.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Data/WeatherForecast.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Data/WeatherForecast.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Data/WeatherForecastService.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Data/WeatherForecastService.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Data/WeatherForecastService.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Data/WeatherForecastService.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Hubs/ChatHub.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Hubs/ChatHub.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/Hubs/ChatHub.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Hubs/ChatHub.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Pages/Counter.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Counter.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Pages/Counter.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Counter.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Error.cshtml b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Error.cshtml similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Error.cshtml rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Error.cshtml diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Error.cshtml.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Error.cshtml.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Error.cshtml.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Error.cshtml.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/FetchData.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/FetchData.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/FetchData.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/FetchData.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Index.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Index.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Index.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Index.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/_Host.cshtml b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/_Host.cshtml similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/_Host.cshtml rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/_Host.cshtml diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/_Layout.cshtml b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/_Layout.cshtml similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/_Layout.cshtml rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/_Layout.cshtml diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Program.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Program.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Program.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Program.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/MainLayout.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/MainLayout.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/MainLayout.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/MainLayout.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/MainLayout.razor.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/MainLayout.razor.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/MainLayout.razor.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/MainLayout.razor.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/NavMenu.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/NavMenu.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/NavMenu.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/NavMenu.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/NavMenu.razor.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/NavMenu.razor.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/NavMenu.razor.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/NavMenu.razor.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/SurveyPrompt.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/SurveyPrompt.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/SurveyPrompt.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Shared/SurveyPrompt.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/_Imports.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/_Imports.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/_Imports.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/_Imports.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/appsettings.Development.json b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/appsettings.Development.json similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/appsettings.Development.json rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/appsettings.Development.json diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/appsettings.json b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/appsettings.json similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/appsettings.json rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/appsettings.json diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css.map b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css.map similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css.map rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css.map diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/FONT-LICENSE b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/FONT-LICENSE similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/FONT-LICENSE rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/FONT-LICENSE diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/ICON-LICENSE b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/ICON-LICENSE similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/ICON-LICENSE rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/ICON-LICENSE diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/README.md b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/README.md similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/README.md rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/README.md diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.svg rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/site.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/site.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/site.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/site.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/favicon.ico b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/favicon.ico similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/favicon.ico rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/favicon.ico diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/App.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/App.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/App.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/App.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Counter.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Pages/Counter.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/Pages/Counter.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Pages/Counter.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Pages/FetchData.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Pages/FetchData.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Pages/FetchData.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Pages/FetchData.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Pages/Index.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Program.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Program.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Program.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Program.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/MainLayout.razor.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/NavMenu.razor.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/Shared/NavMenu.razor.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/NavMenu.razor.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/SurveyPrompt.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/SurveyPrompt.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/SurveyPrompt.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/Shared/SurveyPrompt.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/_Imports.razor b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/_Imports.razor similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/_Imports.razor rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/_Imports.razor diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/app.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/app.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/app.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/app.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css.map b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css.map similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/wwwroot/css/bootstrap/bootstrap.min.css.map rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/bootstrap/bootstrap.min.css.map diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/FONT-LICENSE b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/FONT-LICENSE similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/FONT-LICENSE rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/FONT-LICENSE diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/ICON-LICENSE b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/ICON-LICENSE similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/ICON-LICENSE rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/ICON-LICENSE diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/README.md b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/README.md similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/README.md rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/README.md diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.svg similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.svg diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorServerSignalRApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/favicon.ico b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/favicon.ico similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorServerSignalRApp/wwwroot/favicon.ico rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/favicon.ico diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/icon-192.png b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/icon-192.png similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/icon-192.png rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/icon-192.png diff --git a/aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/index.html b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/index.html similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/5.0/BlazorWebAssemblySignalRApp/Client/wwwroot/index.html rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/wwwroot/index.html diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Controllers/WeatherForecastController.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Controllers/WeatherForecastController.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Controllers/WeatherForecastController.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Controllers/WeatherForecastController.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/3.1/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Hubs/ChatHub.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Pages/Error.cshtml b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Pages/Error.cshtml similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Pages/Error.cshtml rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Pages/Error.cshtml diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Pages/Error.cshtml.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Pages/Error.cshtml.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Pages/Error.cshtml.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Pages/Error.cshtml.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Program.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Program.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Program.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Program.cs diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Readme.txt b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Readme.txt similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Readme.txt rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/Readme.txt diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/appsettings.Development.json b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/appsettings.Development.json similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/appsettings.Development.json rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/appsettings.Development.json diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/appsettings.json b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/appsettings.json similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/appsettings.json rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/appsettings.json diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Shared/BlazorWebAssemblySignalRApp.Shared.csproj b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Shared/BlazorWebAssemblySignalRApp.Shared.csproj similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Shared/BlazorWebAssemblySignalRApp.Shared.csproj rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Shared/BlazorWebAssemblySignalRApp.Shared.csproj diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Shared/WeatherForecast.cs b/aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Shared/WeatherForecast.cs similarity index 100% rename from aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Shared/WeatherForecast.cs rename to aspnetcore/blazor/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Shared/WeatherForecast.cs diff --git a/aspnetcore/index.yml b/aspnetcore/index.yml index 683ad8404fe7..4cdb6dc04eed 100644 --- a/aspnetcore/index.yml +++ b/aspnetcore/index.yml @@ -67,7 +67,7 @@ conceptualContent: - url: https://dotnet.microsoft.com/learn/aspnet/blazor-tutorial/intro itemType: get-started text: "Build your first Blazor app" - - url: tutorials/build-a-blazor-app.md + - url: blazor/tutorials/build-a-blazor-app.md itemType: get-started text: "Build your first Blazor app with reusable components" - url: blazor/hosting-models.md @@ -152,7 +152,7 @@ conceptualContent: - url: signalr/introduction.md itemType: get-started text: "Create your first SignalR app" - - url: tutorials/signalr-blazor.md + - url: blazor/tutorials/signalr-blazor.md itemType: tutorial text: "SignalR with Blazor WebAssembly" - url: tutorials/signalr-typescript-webpack.md diff --git a/aspnetcore/toc.yml b/aspnetcore/toc.yml index 2bb43199ddb7..4801d8f2849b 100644 --- a/aspnetcore/toc.yml +++ b/aspnetcore/toc.yml @@ -83,14 +83,7 @@ items: - name: Examine Details and Delete uid: tutorials/first-mvc-app/details - name: Blazor - displayName: tutorial - items: - - name: Build your first Blazor app - href: https://dotnet.microsoft.com/learn/aspnet/blazor-tutorial/intro - - name: Build a Blazor todo list app - uid: tutorials/build-a-blazor-app - - name: SignalR with Blazor - uid: tutorials/signalr-blazor + href: blazor/tutorials/index.md - name: Web API apps items: - name: Create a web API with controllers @@ -121,7 +114,7 @@ items: uid: tutorials/signalr-typescript-webpack - name: SignalR with Blazor displayName: tutorial - uid: tutorials/signalr-blazor + uid: blazor/tutorials/signalr-blazor - name: Remote Procedure Call apps items: - name: Get started with a gRPC service @@ -324,12 +317,22 @@ items: items: - name: Overview uid: blazor/index - - name: Tutorials - uid: blazor/tutorials - name: Supported platforms uid: blazor/supported-platforms - name: Tooling uid: blazor/tooling + - name: Tutorials + items: + - name: Overview + uid: blazor/tutorials/index + - name: Build your first Blazor app + href: https://dotnet.microsoft.com/learn/aspnet/blazor-tutorial/intro + - name: Build a Blazor todo list app + uid: blazor/tutorials/build-a-blazor-app + - name: SignalR with Blazor + uid: blazor/tutorials/signalr-blazor + - name: Microsoft Learn modules + href: /learn/modules/build-blazor-webassembly-visual-studio-code/ - name: Hosting models uid: blazor/hosting-models - name: Project structure @@ -644,7 +647,7 @@ items: - name: SignalR with TypeScript uid: tutorials/signalr-typescript-webpack - name: SignalR with Blazor - uid: tutorials/signalr-blazor + uid: blazor/tutorials/signalr-blazor - name: Samples href: https://github.com/aspnet/SignalR-samples displayName: signalr From 09c58314c4bf294ca4eba6bc25e05dda23b46405 Mon Sep 17 00:00:00 2001 From: guardrex <1622880+guardrex@users.noreply.github.com> Date: Thu, 10 Feb 2022 07:38:15 -0600 Subject: [PATCH 2/2] Updates --- aspnetcore/blazor/debug.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/aspnetcore/blazor/debug.md b/aspnetcore/blazor/debug.md index fb300a3881f1..63f6a06bc431 100644 --- a/aspnetcore/blazor/debug.md +++ b/aspnetcore/blazor/debug.md @@ -582,7 +582,7 @@ If Microsoft Edge is used for debugging instead of Google Chrome, the `.vscode/l "browser": "edge" ``` -The `.vscode/tasks.json` file adds the **`Server`** app's project file path to the `dotnet build` arguments under `args`. The **`Server`** project's folder is typically named `Server` in a solution based on the hosted Blazor WebAssembly project template. The following example uses the project file for the **`Server`** app of the [Blazor-SignalR tutorial](xref:blazor/tutorials/signalr-blazor)), which has a project file named `BlazorWebAssemblySignalRApp.Server.csproj`: +The `.vscode/tasks.json` file adds the **`Server`** app's project file path to the `dotnet build` arguments under `args`. The **`Server`** project's folder is typically named `Server` in a solution based on the hosted Blazor WebAssembly project template. The following example uses the project file for the **`Server`** app of the [Blazor-SignalR tutorial](xref:blazor/tutorials/signalr-blazor), which has a project file named `BlazorWebAssemblySignalRApp.Server.csproj`: ```json { @@ -603,7 +603,7 @@ The `.vscode/tasks.json` file adds the **`Server`** app's project file path to t } ``` -The **`Server`** project's `Properties/launchSettings.json` file includes the `inspectUri` property for the debugging proxy. The following example names the launch profile for the **`Server`** app of the [Blazor-SignalR tutorial](xref:blazor/tutorials/signalr-blazor)), which is `BlazorWebAssemblySignalRApp.Server`: +The **`Server`** project's `Properties/launchSettings.json` file includes the `inspectUri` property for the debugging proxy. The following example names the launch profile for the **`Server`** app of the [Blazor-SignalR tutorial](xref:blazor/tutorials/signalr-blazor), which is `BlazorWebAssemblySignalRApp.Server`: ```json { @@ -997,7 +997,7 @@ If Microsoft Edge is used for debugging instead of Google Chrome, the `.vscode/l "browser": "edge" ``` -The `.vscode/tasks.json` file adds the **`Server`** app's project file path to the `dotnet build` arguments under `args`. The **`Server`** project's folder is typically named `Server` in a solution based on the hosted Blazor WebAssembly project template. The following example uses the project file for the **`Server`** app of the [Blazor-SignalR tutorial](xref:blazor/tutorials/signalr-blazor)), which has a project file named `BlazorWebAssemblySignalRApp.Server.csproj`: +The `.vscode/tasks.json` file adds the **`Server`** app's project file path to the `dotnet build` arguments under `args`. The **`Server`** project's folder is typically named `Server` in a solution based on the hosted Blazor WebAssembly project template. The following example uses the project file for the **`Server`** app of the [Blazor-SignalR tutorial](xref:blazor/tutorials/signalr-blazor), which has a project file named `BlazorWebAssemblySignalRApp.Server.csproj`: ```json { @@ -1018,7 +1018,7 @@ The `.vscode/tasks.json` file adds the **`Server`** app's project file path to t } ``` -The **`Server`** project's `Properties/launchSettings.json` file includes the `inspectUri` property for the debugging proxy. The following example names the launch profile for the **`Server`** app of the [Blazor-SignalR tutorial](xref:blazor/tutorials/signalr-blazor)), which is `BlazorWebAssemblySignalRApp.Server`: +The **`Server`** project's `Properties/launchSettings.json` file includes the `inspectUri` property for the debugging proxy. The following example names the launch profile for the **`Server`** app of the [Blazor-SignalR tutorial](xref:blazor/tutorials/signalr-blazor), which is `BlazorWebAssemblySignalRApp.Server`: ```json {