-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #22 from umbraco-community/feature/plaground-site
Add in a testing/playground site
- Loading branch information
Showing
18 changed files
with
1,125 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
38 changes: 38 additions & 0 deletions
38
Our.Umbraco.TagHelpers.Playground/Our.Umbraco.TagHelpers.Playground.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
<Project Sdk="Microsoft.NET.Sdk.Web"> | ||
|
||
<PropertyGroup> | ||
<TargetFramework>net5.0</TargetFramework> | ||
<DefaultItemExcludes>$(DefaultItemExcludes);App_Plugins/**;</DefaultItemExcludes> | ||
<DefaultItemExcludes>$(DefaultItemExcludes);umbraco/**;</DefaultItemExcludes> | ||
<DefaultItemExcludes>$(DefaultItemExcludes);wwwroot/media/**;</DefaultItemExcludes> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="Umbraco.Cms" Version="9.0.1" /> | ||
</ItemGroup> | ||
|
||
|
||
|
||
<ItemGroup> | ||
<Content Include="App_Plugins/**" CopyToOutputDirectory="Always" /> | ||
<Content Include="umbraco/**" CopyToOutputDirectory="Always" /> | ||
<Content Remove="umbraco/Data/**" /> | ||
<Content Remove="umbraco/Logs/**" /> | ||
<Content Remove="umbraco/mediacache/**" /> | ||
<Content Remove="umbraco/models/**" /> | ||
<Compile Include="umbraco/models/**" Exclude="**/*.flag" /> | ||
</ItemGroup> | ||
|
||
|
||
|
||
<ItemGroup> | ||
<ProjectReference Include="..\Our.Umbraco.TagHelpers\Our.Umbraco.TagHelpers.csproj" /> | ||
</ItemGroup> | ||
|
||
<!-- Set this to true if ModelsBuilder mode is not InMemoryAuto--> | ||
<PropertyGroup> | ||
<RazorCompileOnBuild>false</RazorCompileOnBuild> | ||
<RazorCompileOnPublish>false</RazorCompileOnPublish> | ||
</PropertyGroup> | ||
|
||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
using Microsoft.AspNetCore.Hosting; | ||
using Microsoft.Extensions.Configuration; | ||
using Microsoft.Extensions.Hosting; | ||
using Microsoft.Extensions.Logging; | ||
|
||
namespace Our.Umbraco.TagHelpers.Playground | ||
{ | ||
public class Program | ||
{ | ||
public static void Main(string[] args) | ||
=> CreateHostBuilder(args) | ||
.Build() | ||
.Run(); | ||
|
||
public static IHostBuilder CreateHostBuilder(string[] args) => | ||
Host.CreateDefaultBuilder(args) | ||
.ConfigureLogging(x => x.ClearProviders()) | ||
.ConfigureWebHostDefaults(webBuilder => webBuilder.UseStartup<Startup>()); | ||
} | ||
} |
38 changes: 38 additions & 0 deletions
38
Our.Umbraco.TagHelpers.Playground/Properties/launchSettings.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
{ | ||
"$schema": "https://json.schemastore.org/launchsettings.json", | ||
"iisSettings": { | ||
"windowsAuthentication": false, | ||
"anonymousAuthentication": true, | ||
"iisExpress": { | ||
"applicationUrl": "http://localhost:17329", | ||
"sslPort": 44330 | ||
} | ||
}, | ||
"profiles": { | ||
"IIS Express": { | ||
"commandName": "IISExpress", | ||
"launchBrowser": true, | ||
"environmentVariables": { | ||
"ASPNETCORE_ENVIRONMENT": "Development" | ||
} | ||
}, | ||
"Our.Umbraco.TagHelpers.Playground [Dev]": { | ||
"commandName": "Project", | ||
"dotnetRunMessages": true, | ||
"launchBrowser": true, | ||
"applicationUrl": "https://localhost:44330;http://localhost:17329", | ||
"environmentVariables": { | ||
"ASPNETCORE_ENVIRONMENT": "Development" | ||
} | ||
}, | ||
"Our.Umbraco.TagHelpers.Playground [Prod]": { | ||
"commandName": "Project", | ||
"dotnetRunMessages": true, | ||
"launchBrowser": true, | ||
"applicationUrl": "https://localhost:44330;http://localhost:17329", | ||
"environmentVariables": { | ||
"ASPNETCORE_ENVIRONMENT": "Production" | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
using System; | ||
using Microsoft.AspNetCore.Builder; | ||
using Microsoft.AspNetCore.Hosting; | ||
using Microsoft.Extensions.Configuration; | ||
using Microsoft.Extensions.DependencyInjection; | ||
using Microsoft.Extensions.Hosting; | ||
using Umbraco.Cms.Core.DependencyInjection; | ||
using Umbraco.Extensions; | ||
|
||
namespace Our.Umbraco.TagHelpers.Playground | ||
{ | ||
public class Startup | ||
{ | ||
private readonly IWebHostEnvironment _env; | ||
private readonly IConfiguration _config; | ||
|
||
/// <summary> | ||
/// Initializes a new instance of the <see cref="Startup" /> class. | ||
/// </summary> | ||
/// <param name="webHostEnvironment">The web hosting environment.</param> | ||
/// <param name="config">The configuration.</param> | ||
/// <remarks> | ||
/// Only a few services are possible to be injected here https://github.com/dotnet/aspnetcore/issues/9337 | ||
/// </remarks> | ||
public Startup(IWebHostEnvironment webHostEnvironment, IConfiguration config) | ||
{ | ||
_env = webHostEnvironment ?? throw new ArgumentNullException(nameof(webHostEnvironment)); | ||
_config = config ?? throw new ArgumentNullException(nameof(config)); | ||
} | ||
|
||
/// <summary> | ||
/// Configures the services. | ||
/// </summary> | ||
/// <param name="services">The services.</param> | ||
/// <remarks> | ||
/// This method gets called by the runtime. Use this method to add services to the container. | ||
/// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 | ||
/// </remarks> | ||
public void ConfigureServices(IServiceCollection services) | ||
{ | ||
#pragma warning disable IDE0022 // Use expression body for methods | ||
services.AddUmbraco(_env, _config) | ||
.AddBackOffice() | ||
.AddWebsite() | ||
.AddComposers() | ||
.Build(); | ||
#pragma warning restore IDE0022 // Use expression body for methods | ||
|
||
} | ||
|
||
/// <summary> | ||
/// Configures the application. | ||
/// </summary> | ||
/// <param name="app">The application builder.</param> | ||
/// <param name="env">The web hosting environment.</param> | ||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) | ||
{ | ||
if (env.IsDevelopment()) | ||
{ | ||
app.UseDeveloperExceptionPage(); | ||
} | ||
|
||
app.UseUmbraco() | ||
.WithMiddleware(u => | ||
{ | ||
u.UseBackOffice(); | ||
u.UseWebsite(); | ||
}) | ||
.WithEndpoints(u => | ||
{ | ||
u.UseInstallerEndpoints(); | ||
u.UseBackOfficeEndpoints(); | ||
u.UseWebsiteEndpoints(); | ||
}); | ||
} | ||
} | ||
} |
13 changes: 13 additions & 0 deletions
13
Our.Umbraco.TagHelpers.Playground/Views/Partials/blocklist/default.cshtml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage<Umbraco.Cms.Core.Models.Blocks.BlockListModel> | ||
@{ | ||
if (!Model.Any()) { return; } | ||
} | ||
<div class="umb-block-list"> | ||
@foreach (var block in Model) | ||
{ | ||
if (block?.ContentUdi == null) { continue; } | ||
var data = block.Content; | ||
|
||
@await Html.PartialAsync("BlockList/Components/" + data.ContentType.Alias, block) | ||
} | ||
</div> |
106 changes: 106 additions & 0 deletions
106
Our.Umbraco.TagHelpers.Playground/Views/Partials/grid/bootstrap3-fluid.cshtml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
@using System.Web | ||
@using Microsoft.AspNetCore.Html | ||
@using Newtonsoft.Json.Linq | ||
@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage<dynamic> | ||
|
||
@* | ||
Razor helpers located at the bottom of this file | ||
*@ | ||
|
||
@if (Model != null && Model.GetType() == typeof(JObject) && Model.sections != null) | ||
{ | ||
var oneColumn = ((System.Collections.ICollection)Model.sections).Count == 1; | ||
|
||
<div class="umb-grid"> | ||
@if (oneColumn) | ||
{ | ||
foreach (var section in Model.sections) | ||
{ | ||
<div class="grid-section"> | ||
@foreach (var row in section.rows) | ||
{ | ||
renderRow(row); | ||
} | ||
</div> | ||
} | ||
} | ||
else | ||
{ | ||
<div class="row clearfix"> | ||
@foreach (var sec in Model.sections) | ||
{ | ||
<div class="grid-section"> | ||
<div class="[email protected] column"> | ||
@foreach (var row in sec.rows) | ||
{ | ||
renderRow(row); | ||
} | ||
</div> | ||
</div> | ||
} | ||
</div> | ||
} | ||
</div> | ||
} | ||
|
||
@functions{ | ||
|
||
private async Task renderRow(dynamic row) | ||
{ | ||
<div @RenderElementAttributes(row)> | ||
<div class="row clearfix"> | ||
@foreach (var area in row.areas) | ||
{ | ||
<div class="[email protected] column"> | ||
<div @RenderElementAttributes(area)> | ||
@foreach (var control in area.controls) | ||
{ | ||
if (control != null && control.editor != null && control.editor.view != null) | ||
{ | ||
<text>@await Html.PartialAsync("grid/editors/base", (object)control)</text> | ||
} | ||
} | ||
</div> | ||
</div> | ||
} | ||
</div> | ||
</div> | ||
} | ||
} | ||
|
||
@functions{ | ||
|
||
public static HtmlString RenderElementAttributes(dynamic contentItem) | ||
{ | ||
var attrs = new List<string>(); | ||
JObject cfg = contentItem.config; | ||
|
||
if (cfg != null) | ||
{ | ||
foreach (JProperty property in cfg.Properties()) | ||
{ | ||
var propertyValue = HttpUtility.HtmlAttributeEncode(property.Value.ToString()); | ||
attrs.Add(property.Name + "=\"" + propertyValue + "\""); | ||
} | ||
} | ||
|
||
JObject style = contentItem.styles; | ||
|
||
if (style != null) { | ||
var cssVals = new List<string>(); | ||
foreach (JProperty property in style.Properties()) | ||
{ | ||
var propertyValue = property.Value.ToString(); | ||
if (string.IsNullOrWhiteSpace(propertyValue) == false) | ||
{ | ||
cssVals.Add(property.Name + ":" + propertyValue + ";"); | ||
} | ||
} | ||
|
||
if (cssVals.Any()) | ||
attrs.Add("style='" + HttpUtility.HtmlAttributeEncode(string.Join(" ", cssVals)) + "'"); | ||
} | ||
|
||
return new HtmlString(string.Join(" ", attrs)); | ||
} | ||
} |
Oops, something went wrong.