Skip to content

OrchardSkills/OrchardSkills.OrchardCore.TheCreativeTheme

Repository files navigation

Orchard Core Creative Theme

Designng a Theme for Orchard Core

OrchardSkillsYouTubeThumbNailTheme

Introduction

An Orchard theme defines an application's appearance and is used to customize the look and feel of an Orchard website. A theme can override the style sheets, images, layouts, or content templates provided by any Orchard module. In addition, a theme can contain code that overrides targeted code in a module. We will show you how to create a theme from scratch. It is intended to be an introduction to theme development and has been kept simple by design.

Orchard-Core-Theme-001

Launch your favorite browser and browse to https:/startbootstrap.com/creative. Download the template to your computer.

Orchard-Core-Theme-002

Launch Visual Studio and create a new solution. Select ASP.NET Core Web Solution.

Orchard-Core-Theme-003

For the Project name enter MyOrchardCoreCMS and then press the "Create" button.

Orchard-Core-Theme-004

Select "Empty" and then press the "Create" button.

Orchard-Core-Theme-005

Right click on the solution and select "Add" then "New Item...".

Orchard-Core-Theme-006

Select a "Test File" and then click on the "Add" button.

Orchard-Core-Theme-007

Rename it to "NuGet.config".

Orchard-Core-Theme-008

Add the following configuration. Note this for RC2.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear />
    <add key="NuGet" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
</configuration>

Orchard-Core-Theme-009

Exit Visual Studio.

Orchard-Core-Theme-010

Relaunch Visual Studio and Select your solution.

Orchard-Core-Theme-011

Click on the "Project". Add the following code: Note this is for RC2. Adding the logger for logging functionality.

  <ItemGroup>
    <PackageReference Include="OrchardCore.Application.Cms.Targets" Version="1.0.0-rc2-13450" />
    <PackageReference Include="OrchardCore.Logging.NLog" Version="1.0.0-rc2-13450" />
  </ItemGroup>

Orchard-Core-Theme-012

Added services.AddOrchardCms();

Orchard-Core-Theme-013

Add app.UseOrchardCore().

Here is the complete code listing of Startup.cs.

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

namespace OrchardSkills.OrchardCore.OrchardCMS
{
    public class Startup
    {
        // 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
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddOrchardCms();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseOrchardCore();

        }
    }
}

Also for reference, here is the complete listing of Program.cs

using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using OrchardCore.Logging;

namespace OrchardSkills.OrchardCore.OrchardCMS
{
    public class Program
    {
        public static Task Main(string[] args)
            => BuildHost(args).RunAsync();

        public static IHost BuildHost(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureLogging(logging => logging.ClearProviders())
                .ConfigureWebHostDefaults(webBuilder => webBuilder
                    .UseStartup<Startup>()
                    .UseNLogWeb()
                ).Build();
    }
}

Note: Notice the logger being set up.

You will also need add the file "NLog.config" to the web application project.

<?xml version="1.0" encoding="utf-8" ?>
<!--
Level Typical Use
Fatal Something bad happened; application is going down
Error Something failed; application may or may not continue
Warn  Something unexpected; application will continue
Info  Normal behavior like mail sent; user updated profile etc.
Debug For debugging; execute query; user authenticated, session expired
Trace For trace debugging; begin method X, end method X
-->
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      autoReload="true"
      internalLogLevel="Warn"
      internalLogFile="App_Data/logs/internal-nlog.txt">

  <extensions>
    <add assembly="NLog.Web.AspNetCore"/>
    <add assembly="OrchardCore.Logging.NLog"/>
  </extensions>

  <targets>
    <!-- file target -->
    <target xsi:type="File" name="file"
            fileName="${var:configDir}/App_Data/logs/orchard-log-${shortdate}.log"
            layout="${longdate}|${orchard-tenant-name}|${aspnet-traceidentifier}|${event-properties:item=EventId.Id}|${logger}|${uppercase:${level}}|${message} ${exception:format=ToString,StackTrace}"
        />

    <!-- console target -->
    <target xsi:type="Console" name="console" />

  </targets>

  <rules>
    <!-- all warnings and above go to the file target -->
    <logger name="*" minlevel="Warn" writeTo="file" />

    <!-- the hosting lifetime events go to the console -->
    <logger name="Microsoft.Hosting.Lifetime" minlevel="Info" writeTo="console" />
  </rules>
</nlog>

Run the application by pressing the green play button.

Orchard-Core-Theme-014

Congratulations the web application is running.

Orchard-Core-Theme-015

Now lets create the theme project. Right click on the solution, select "Add" and then "New Project...".

Orchard-Core-Theme-016

Select the "Class Library (.NET Core)" and press the "Next" button.

Orchard-Core-Theme-017

Enter the Project name and select the "Create" button.

Orchard-Core-Theme-018

Right click on the "Class1" class and select rename. Rename it to "Startup", click the check boxes and then press Apply.

Orchard-Core-Theme-019

Click on the "TheCreateTheme" project and modify to the following: Notre this is for RC2.

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <AddRazorSupportForMvc>true</AddRazorSupportForMvc>
  </PropertyGroup>
  
  <ItemGroup>
    <Compile Remove="wwwroot\node_modules\**" />
    <EmbeddedResource Remove="wwwroot\node_modules\**" />
    <None Remove="wwwroot\node_modules\**" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="OrchardCore.Theme.Targets" Version="1.0.0-rc2-13450" />
    <PackageReference Include="OrchardCore.DisplayManagement" Version="1.0.0-rc2-13450" />
    <PackageReference Include="OrchardCore.ResourceManagement.Abstractions" Version="1.0.0-rc2-13450" />
  </ItemGroup>

  <ItemGroup>
    <EmbeddedResource Remove="**\*.less;**\*.scss;" />
    <EmbeddedResource Remove="wwwroot\gulpfile.js" />
    <EmbeddedResource Remove="wwwroot\index.html" />
    <EmbeddedResource Remove="wwwroot\package-lock.json" />
    <EmbeddedResource Remove="wwwroot\package.json" />
  </ItemGroup>
</Project>

Orchard-Core-Theme-020

Modify the "Startup.cs" file to as follows: Note this is for RC2.


using Microsoft.Extensions.DependencyInjection;
using OrchardCore.Modules;
using OrchardCore.ResourceManagement;

namespace OrchardCore.Themes.TheCreativeTheme
{
    public class Startup : StartupBase
    {
        public override void ConfigureServices(IServiceCollection serviceCollection)
        {
            serviceCollection.AddScoped<IResourceManifestProvider, ResourceManifest>();
        }
    }
}

Orchard-Core-Theme-021

Right click on the web application project and select "Add Reference..."

Orchard-Core-Theme-022

Select the "TheCreateTheme" to add it as a project reference.

Orchard-Core-Theme-023

Clone the "OrchardCore project" at https://github.com/OrchardCMS/OrchardCore. Copy the file and folders from the "TheAgencyTheme" from the directory "OrchardCore/src/OrchardCore.Themes/TheAgencyTheme". Right click and create a new folder.

Orchard-Core-Theme-024

Rename it to "wwwroot".

Orchard-Core-Theme-025

Do to the directory where you downloaded the creative theme template.

Orchard-Core-Theme-026

Paste the files and folders in the "wwwroot" folder.

Orchard-Core-Theme-027

In the "Views" folder, rename the "Layout.liquid" file to something else. Copy the index.html file from the template and rename it to "Layout.liquid".

Orchard-Core-Theme-028

Modify the Layout to liquid to the following: Node the code has been refactored for RC2.

<!DOCTYPE html>
<html lang="en">

<head>

  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <meta name="description" content="">
  <meta name="author" content="">

  <title>Creative - Start Bootstrap Theme</title>

  <!-- Font Awesome Icons -->
  <link href="/TheCreativeTheme/vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">

  <!-- Google Fonts -->
  <link href="https://fonts.googleapis.com/css?family=Merriweather+Sans:400,700" rel="stylesheet">
  <link href='https://fonts.googleapis.com/css?family=Merriweather:400,300,300italic,400italic,700,700italic' rel='stylesheet' type='text/css'>

  <!-- Plugin CSS -->
  <link href="/TheCreativeTheme/vendor/magnific-popup/magnific-popup.css" rel="stylesheet">

  <!-- Theme CSS - Includes Bootstrap -->
  <link href="/TheCreativeTheme/css/creative.min.css" rel="stylesheet">

</head>

<body id="page-top">

  <!-- Navigation -->
  <nav class="navbar navbar-expand-lg navbar-light fixed-top py-3" id="mainNav">
    <div class="container">
      <a class="navbar-brand js-scroll-trigger" href="#page-top">Start Bootstrap</a>
      <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse" id="navbarResponsive">
        <ul class="navbar-nav ml-auto my-2 my-lg-0">
          <li class="nav-item">
            <a class="nav-link js-scroll-trigger" href="#about">About</a>
          </li>
          <li class="nav-item">
            <a class="nav-link js-scroll-trigger" href="#services">Services</a>
          </li>
          <li class="nav-item">
            <a class="nav-link js-scroll-trigger" href="#portfolio">Portfolio</a>
          </li>
          <li class="nav-item">
            <a class="nav-link js-scroll-trigger" href="#contact">Contact</a>
          </li>
        </ul>
      </div>
    </div>
  </nav>

  <!-- Masthead -->
  <header class="masthead">
    <div class="container h-100">
      <div class="row h-100 align-items-center justify-content-center text-center">
        <div class="col-lg-10 align-self-end">
          <h1 class="text-uppercase text-white font-weight-bold">Your Favorite Source of Free Bootstrap Themes</h1>
          <hr class="divider my-4">
        </div>
        <div class="col-lg-8 align-self-baseline">
          <p class="text-white-75 font-weight-light mb-5">Start Bootstrap can help you build better websites using the Bootstrap framework! Just download a theme and start customizing, no strings attached!</p>
          <a class="btn btn-primary btn-xl js-scroll-trigger" href="#about">Find Out More</a>
        </div>
      </div>
    </div>
  </header>

  <!-- About Section -->
  <section class="page-section bg-primary" id="about">
    <div class="container">
      <div class="row justify-content-center">
        <div class="col-lg-8 text-center">
          <h2 class="text-white mt-0">We've got what you need!</h2>
          <hr class="divider light my-4">
          <p class="text-white-50 mb-4">Start Bootstrap has everything you need to get your new website up and running in no time! Choose one of our open source, free to download, and easy to use themes! No strings attached!</p>
          <a class="btn btn-light btn-xl js-scroll-trigger" href="#services">Get Started!</a>
        </div>
      </div>
    </div>
  </section>

  <!-- Services Section -->
  <section class="page-section" id="services">
    <div class="container">
      <h2 class="text-center mt-0">At Your Service</h2>
      <hr class="divider my-4">
      <div class="row">
        <div class="col-lg-3 col-md-6 text-center">
          <div class="mt-5">
            <i class="fas fa-4x fa-gem text-primary mb-4"></i>
            <h3 class="h4 mb-2">Sturdy Themes</h3>
            <p class="text-muted mb-0">Our themes are updated regularly to keep them bug free!</p>
          </div>
        </div>
        <div class="col-lg-3 col-md-6 text-center">
          <div class="mt-5">
            <i class="fas fa-4x fa-laptop-code text-primary mb-4"></i>
            <h3 class="h4 mb-2">Up to Date</h3>
            <p class="text-muted mb-0">All dependencies are kept current to keep things fresh.</p>
          </div>
        </div>
        <div class="col-lg-3 col-md-6 text-center">
          <div class="mt-5">
            <i class="fas fa-4x fa-globe text-primary mb-4"></i>
            <h3 class="h4 mb-2">Ready to Publish</h3>
            <p class="text-muted mb-0">You can use this design as is, or you can make changes!</p>
          </div>
        </div>
        <div class="col-lg-3 col-md-6 text-center">
          <div class="mt-5">
            <i class="fas fa-4x fa-heart text-primary mb-4"></i>
            <h3 class="h4 mb-2">Made with Love</h3>
            <p class="text-muted mb-0">Is it really open source if it's not made with love?</p>
          </div>
        </div>
      </div>
    </div>
  </section>

  <!-- Portfolio Section -->
  <section id="portfolio">
    <div class="container-fluid p-0">
      <div class="row no-gutters">
        <div class="col-lg-4 col-sm-6">
          <a class="portfolio-box" href="/TheCreativeTheme/img/portfolio/fullsize/1.jpg">
            <img class="img-fluid" src="/TheCreativeTheme/img/portfolio/thumbnails/1.jpg" alt="">
            <div class="portfolio-box-caption">
              <div class="project-category text-white-50">
                Category
              </div>
              <div class="project-name">
                Project Name
              </div>
            </div>
          </a>
        </div>
        <div class="col-lg-4 col-sm-6">
          <a class="portfolio-box" href="/TheCreativeTheme/img/portfolio/fullsize/2.jpg">
            <img class="img-fluid" src="/TheCreativeTheme/img/portfolio/thumbnails/2.jpg" alt="">
            <div class="portfolio-box-caption">
              <div class="project-category text-white-50">
                Category
              </div>
              <div class="project-name">
                Project Name
              </div>
            </div>
          </a>
        </div>
        <div class="col-lg-4 col-sm-6">
          <a class="portfolio-box" href="/TheCreativeTheme/img/portfolio/fullsize/3.jpg">
            <img class="img-fluid" src="/TheCreativeTheme/img/portfolio/thumbnails/3.jpg" alt="">
            <div class="portfolio-box-caption">
              <div class="project-category text-white-50">
                Category
              </div>
              <div class="project-name">
                Project Name
              </div>
            </div>
          </a>
        </div>
        <div class="col-lg-4 col-sm-6">
          <a class="portfolio-box" href="/TheCreativeTheme/img/portfolio/fullsize/4.jpg">
            <img class="img-fluid" src="/TheCreativeTheme/img/portfolio/thumbnails/4.jpg" alt="">
            <div class="portfolio-box-caption">
              <div class="project-category text-white-50">
                Category
              </div>
              <div class="project-name">
                Project Name
              </div>
            </div>
          </a>
        </div>
        <div class="col-lg-4 col-sm-6">
          <a class="portfolio-box" href="/TheCreativeTheme/img/portfolio/fullsize/5.jpg">
            <img class="img-fluid" src="/TheCreativeTheme/img/portfolio/thumbnails/5.jpg" alt="">
            <div class="portfolio-box-caption">
              <div class="project-category text-white-50">
                Category
              </div>
              <div class="project-name">
                Project Name
              </div>
            </div>
          </a>
        </div>
        <div class="col-lg-4 col-sm-6">
          <a class="portfolio-box" href="/TheCreativeTheme/img/portfolio/fullsize/6.jpg">
            <img class="img-fluid" src="/TheCreativeTheme/img/portfolio/thumbnails/6.jpg" alt="">
            <div class="portfolio-box-caption p-3">
              <div class="project-category text-white-50">
                Category
              </div>
              <div class="project-name">
                Project Name
              </div>
            </div>
          </a>
        </div>
      </div>
    </div>
  </section>

  <!-- Call to Action Section -->
  <section class="page-section bg-dark text-white">
    <div class="container text-center">
      <h2 class="mb-4">Free Download at Start Bootstrap!</h2>
      <a class="btn btn-light btn-xl" href="https://startbootstrap.com/themes/creative/">Download Now!</a>
    </div>
  </section>

  <!-- Contact Section -->
  <section class="page-section" id="contact">
    <div class="container">
      <div class="row justify-content-center">
        <div class="col-lg-8 text-center">
          <h2 class="mt-0">Let's Get In Touch!</h2>
          <hr class="divider my-4">
          <p class="text-muted mb-5">Ready to start your next project with us? Give us a call or send us an email and we will get back to you as soon as possible!</p>
        </div>
      </div>
      <div class="row">
        <div class="col-lg-4 ml-auto text-center mb-5 mb-lg-0">
          <i class="fas fa-phone fa-3x mb-3 text-muted"></i>
          <div>+1 (202) 555-0149</div>
        </div>
        <div class="col-lg-4 mr-auto text-center">
          <i class="fas fa-envelope fa-3x mb-3 text-muted"></i>
          <!-- Make sure to change the email address in anchor text AND the link below! -->
          <a class="d-block" href="mailto:contact@yourwebsite.com">contact@yourwebsite.com</a>
        </div>
      </div>
    </div>
  </section>

  <!-- Footer -->
  <footer class="bg-light py-5">
    <div class="container">
      <div class="small text-center text-muted">Copyright &copy; 2019 - Start Bootstrap</div>
    </div>
  </footer>

  <!-- Bootstrap core JavaScript -->
  <script src="/TheCreativeTheme/vendor/jquery/jquery.min.js"></script>
  <script src="/TheCreativeTheme/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>

  <!-- Plugin JavaScript -->
  <script src="/TheCreativeTheme/vendor/jquery-easing/jquery.easing.min.js"></script>
  <script src="/TheCreativeTheme/vendor/magnific-popup/jquery.magnific-popup.min.js"></script>

  <!-- Custom scripts for this template -->
  <script src="/TheCreativeTheme/js/creative.min.js"></script>

</body>

</html>

Orchard-Core-Theme-029

Modify the recipe file to the following: Node the recipe has been refactored for RC2.

{
  "name": "The Creative Theme",
  "displayName": "The Creative Theme",
  "description": "Orchard Skills CreativeTheme.",
  "author": "Orchard Skills",
  "website": "https://OrchardSkills.com",
  "version": "1.0.0-rc2",
  "issetuprecipe": true,
  "categories": [ "default" ],
  "tags": [ "Creative" ],

  // The variables are evaluated the first time they are accessed, and reused across steps
  "variables": {
    "landingContentItemId": "[js:uuid()]"
    // "now": "[js: new Date().toISOString()]"
  },

  "steps": [
    {
      "name": "feature",
      "disable": [],
      "enable": [
        // SaaS
        "OrchardCore.HomeRoute",
        "OrchardCore.Admin",
        "OrchardCore.Diagnostics",
        "OrchardCore.DynamicCache",
        "OrchardCore.Features",
        "OrchardCore.Navigation",
        "OrchardCore.Recipes",
        "OrchardCore.Resources",
        "OrchardCore.Roles",
        "OrchardCore.Settings",
        "OrchardCore.Themes",
        "OrchardCore.Users",

        // Content Management
        "OrchardCore.Alias",
        "OrchardCore.Autoroute",
        "OrchardCore.Html",
        "OrchardCore.ContentFields",
        "OrchardCore.ContentPreview",
        "OrchardCore.Contents",
        "OrchardCore.Contents.FileContentDefinition",
        "OrchardCore.ContentTypes",
        "OrchardCore.CustomSettings",
        "OrchardCore.Deployment",
        "OrchardCore.Deployment.Remote",
        "OrchardCore.Feeds",
        "OrchardCore.Flows",
        "OrchardCore.Layers",
        "OrchardCore.Lists",
        "OrchardCore.Liquid",
        "OrchardCore.Markdown",
        "OrchardCore.Media",
        "OrchardCore.Menu",
        "OrchardCore.Queries",
        "OrchardCore.Title",
        "OrchardCore.Templates",
        "OrchardCore.Widgets",

        // Themes
        "TheCreativeTheme",
        "TheAdmin",
        "SafeMode"
      ]
    },
    {
      "name": "themes",
      "admin": "TheAdmin",
      "site": "TheCreativeTheme"
    },
    {
      "name": "settings",
      "HomeRoute": {
        "Action": "Display",
        "Controller": "Item",
        "Area": "OrchardCore.Contents",
        "ContentItemId": "[js: variables('landingContentItemId')]"
      },
      "LayerSettings": {
        "Zones": [ "Footer" ]
      }
    },
    {
      "name": "ContentDefinition",
      "ContentTypes": [
        {
          "Name": "LiquidPage",
          "DisplayName": "Liquid Page",
          "Hidden": false,
          "Settings": {
            "ContentTypeSettings": {
              "Creatable": true,
              "Draftable": true,
              "Versionable": true,
              "Listable": true
            }
          },
          "ContentTypePartDefinitionRecords": [
            {
              "PartName": "LiquidPage",
              "Name": "LiquidPage",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "2"
                }
              }
            },
            {
              "PartName": "AutoroutePart",
              "Name": "AutoroutePart",
              "Settings": {
                "AutoroutePartSettings": {
                  "AllowCustomPath": true,
                  "Pattern": "{{ Model.ContentItem | display_text | slugify }}",
                  "ShowHomepageOption": true
                },
                "ContentTypePartSettings": {
                  "Position": "1"
                }
              }
            },
            {
              "PartName": "LiquidPart",
              "Name": "LiquidPart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "3"
                }
              }
            },
            {
              "PartName": "TitlePart",
              "Name": "TitlePart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "0"
                }
              }
            }
          ]
        },
        {
          "Name": "HtmlWidget",
          "DisplayName": "Html",
          "Settings": {
            "ContentTypeSettings": {
              "Draftable": true,
              "Versionable": true,
              "Securable": true,
              "Stereotype": "Widget"
            }
          },
          "ContentTypePartDefinitionRecords": [
            {
              "PartName": "HtmlWidget",
              "Name": "HtmlWidget",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "0"
                }
              }
            }
          ]
        },
        {
          "Name": "Page",
          "DisplayName": "Page",
          "Settings": {
            "ContentTypeSettings": {
              "Creatable": true,
              "Draftable": true,
              "Versionable": true,
              "Listable": true,
              "Securable": true
            }
          },
          "ContentTypePartDefinitionRecords": [
            {
              "PartName": "Page",
              "Name": "Page",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "3"
                }
              }
            },
            {
              "PartName": "AutoroutePart",
              "Name": "AutoroutePart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "1"
                },
                "AutoroutePartSettings": {
                  "AllowCustomPath": true,
                  "Pattern": "{{ Model.ContentItem | display_text | slugify }}",
                  "ShowHomepageOption": true
                }
              }
            },
            {
              "PartName": "FlowPart",
              "Name": "FlowPart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "2"
                }
              }
            },
            {
              "PartName": "TitlePart",
              "Name": "TitlePart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "0"
                }
              }
            }
          ]
        },
        {
          "Name": "LandingPage",
          "DisplayName": "Landing Page",
          "Settings": {
            "ContentTypeSettings": {
              "Creatable": true,
              "Draftable": true,
              "Versionable": true,
              "Listable": true,
              "Securable": true
            }
          },
          "ContentTypePartDefinitionRecords": [
            {
              "PartName": "LandingPage",
              "Name": "LandingPage",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "8"
                }
              }
            },
            {
              "PartName": "AutoroutePart",
              "Name": "AutoroutePart",
              "Settings": {
                "AutoroutePartSettings": {
                  "AllowCustomPath": true,
                  "Pattern": "{{ Model.ContentItem | display_text | slugify }}",
                  "ShowHomepageOption": true
                },
                "ContentTypePartSettings": {
                  "Position": "1"
                }
              }
            },
            {
              "PartName": "TitlePart",
              "Name": "TitlePart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "0"
                }
              }
            },
            {
              "PartName": "BagPart",
              "Name": "Services",
              "Settings": {
                "ContentTypePartSettings": {
                  "DisplayName": "Services",
                  "Description": "Provides a collection behavior for your content item.",
                  "Position": "3"
                },
                "BagPartSettings": {
                  "ContainedContentTypes": [
                    "Service"
                  ]
                }
              }
            },
            {
              "PartName": "BagPart",
              "Name": "Portfolio",
              "Settings": {
                "BagPartSettings": {
                  "ContainedContentTypes": [
                    "Project"
                  ]
                },
                "ContentTypePartSettings": {
                  "DisplayName": "Portfolio",
                  "Description": "Provides a collection behavior for your content item.",
                  "Position": "4"
                }
              }
            },
            {
              "PartName": "BagPart",
              "Name": "About",
              "Settings": {
                "ContentTypePartSettings": {
                  "DisplayName": "About",
                  "Description": "A collection of milestones",
                  "Position": "5"
                },
                "BagPartSettings": {
                  "ContainedContentTypes": [
                    "Milestone"
                  ]
                }
              }
            },
            {
              "PartName": "BagPart",
              "Name": "Team",
              "Settings": {
                "ContentTypePartSettings": {
                  "DisplayName": "Team",
                  "Description": "Team members",
                  "Position": "6"
                },
                "BagPartSettings": {
                  "ContainedContentTypes": [
                    "TeamMember"
                  ]
                }
              }
            },
            {
              "PartName": "BagPart",
              "Name": "Clients",
              "Settings": {
                "ContentTypePartSettings": {
                  "DisplayName": "Clients",
                  "Description": "Provides a collection behavior for your content item.",
                  "Position": "7"
                },
                "BagPartSettings": {
                  "ContainedContentTypes": [
                    "Client"
                  ]
                }
              }
            }
          ]
        },
        {
          "Name": "Service",
          "DisplayName": "Service",
          "ContentTypePartDefinitionRecords": [
            {
              "PartName": "Service",
              "Name": "Service",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "2"
                }
              }
            },
            {
              "PartName": "HtmlBodyPart",
              "Name": "HtmlBodyPart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "1"
                }
              }
            },
            {
              "PartName": "TitlePart",
              "Name": "TitlePart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "0"
                }
              }
            }
          ]
        },
        {
          "Name": "Project",
          "DisplayName": "Project",
          "ContentTypePartDefinitionRecords": [
            {
              "PartName": "Project",
              "Name": "Project",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "2"
                }
              }
            },
            {
              "PartName": "HtmlBodyPart",
              "Name": "HtmlBodyPart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "1"
                }
              }
            },
            {
              "PartName": "TitlePart",
              "Name": "TitlePart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "0"
                }
              }
            }
          ]
        },
        {
          "Name": "Milestone",
          "DisplayName": "Milestone",
          "ContentTypePartDefinitionRecords": [
            {
              "PartName": "Milestone",
              "Name": "Milestone",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "0"
                }
              }
            },
            {
              "PartName": "HtmlBodyPart",
              "Name": "HtmlBodyPart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "2"
                }
              }
            },
            {
              "PartName": "TitlePart",
              "Name": "TitlePart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "1"
                }
              }
            }
          ]
        },
        {
          "Name": "TeamMember",
          "DisplayName": "Team Member",
          "ContentTypePartDefinitionRecords": [
            {
              "PartName": "TeamMember",
              "Name": "TeamMember",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "1"
                }
              }
            },
            {
              "PartName": "TitlePart",
              "Name": "TitlePart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "0"
                }
              }
            }
          ]
        },
        {
          "Name": "Client",
          "DisplayName": "Client",
          "ContentTypePartDefinitionRecords": [
            {
              "PartName": "Client",
              "Name": "Client",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "1"
                }
              }
            },
            {
              "PartName": "TitlePart",
              "Name": "TitlePart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "0"
                }
              }
            }
          ]
        },
        {
          "Name": "Container",
          "DisplayName": "Container",
          "Settings": {
            "ContentTypeSettings": {
              "Draftable": true,
              "Versionable": true,
              "Securable": true,
              "Stereotype": "Widget"
            }
          },
          "ContentTypePartDefinitionRecords": [
            {
              "PartName": "Container",
              "Name": "Container",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "0"
                }
              }
            },
            {
              "PartName": "FlowPart",
              "Name": "FlowPart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "1"
                }
              }
            }
          ]
        },
        {
          "Name": "Blockquote",
          "DisplayName": "Blockquote",
          "Settings": {
            "ContentTypeSettings": {
              "Draftable": true,
              "Versionable": true,
              "Securable": true,
              "Stereotype": "Widget"
            }
          },
          "ContentTypePartDefinitionRecords": [
            {
              "PartName": "Blockquote",
              "Name": "Blockquote",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "0"
                }
              }
            }
          ]
        },
        {
          "Name": "ImageWidget",
          "DisplayName": "Image",
          "Settings": {
            "ContentTypeSettings": {
              "Draftable": true,
              "Versionable": true,
              "Securable": true,
              "Stereotype": "Widget"
            }
          },
          "ContentTypePartDefinitionRecords": [
            {
              "PartName": "Image",
              "Name": "Image",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "0"
                }
              }
            }
          ]
        },
        {
          "Name": "LiquidWidget",
          "DisplayName": "Liquid",
          "Settings": {
            "ContentTypeSettings": {
              "Draftable": true,
              "Versionable": true,
              "Securable": true,
              "Stereotype": "Widget"
            }
          },
          "ContentTypePartDefinitionRecords": [
            {
              "PartName": "LiquidPart",
              "Name": "LiquidPart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "0"
                }
              }
            }
          ]
        },
        {
          "Name": "Image",
          "DisplayName": "Image",
          "Settings": {
            "ContentTypeSettings": {
              "Versionable": true,
              "Securable": true,
              "Stereotype": "Widget"
            }
          },
          "ContentTypePartDefinitionRecords": [
            {
              "PartName": "Image",
              "Name": "Image",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "0"
                }
              }
            },
            {
              "PartName": "TitlePart",
              "Name": "TitlePart",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "0"
                }
              }
            }
          ]
        },
        {
          "Name": "Paragraph",
          "DisplayName": "Paragraph",
          "Settings": {
            "ContentTypeSettings": {
              "Draftable": true,
              "Versionable": true,
              "Securable": true,
              "Stereotype": "Widget"
            }
          },
          "ContentTypePartDefinitionRecords": [
            {
              "PartName": "Paragraph",
              "Name": "Paragraph",
              "Settings": {
                "ContentTypePartSettings": {
                  "Position": "0"
                }
              }
            }
          ]
        }
      ],
      "ContentParts": [
        {
          "Name": "HtmlWidget",
          "Settings": {},
          "ContentPartFieldDefinitionRecords": [
            {
              "FieldName": "HtmlField",
              "Name": "Content",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Content",
                  "Editor": "Multiline",
                  "Position": "0"
                }
              }
            }
          ]
        },
        {
          "Name": "MenuItem",
          "Settings": {},
          "ContentPartFieldDefinitionRecords": [
            {
              "FieldName": "TextField",
              "Name": "Link",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Link",
                  "Position": "0"
                }
              }
            }
          ]
        },
        {
          "Name": "Service",
          "Settings": {},
          "ContentPartFieldDefinitionRecords": [
            {
              "FieldName": "TextField",
              "Name": "IconClass",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Icon Class",
                  "Position": "0"
                },
                "TextFieldSettings": {
                  "Hint": "The icon css class from font-awesome. e.g., fa-laptop, fa-shopping-cart, fa-lock"
                }
              }
            }
          ]
        },
        {
          "Name": "Project",
          "Settings": {},
          "ContentPartFieldDefinitionRecords": [
            {
              "FieldName": "MediaField",
              "Name": "Image",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Image",
                  "Position": "1"
                },
                "MediaFieldSettings": {
                  "Required": true,
                  "Multiple":  false
                }
              }
            },
            {
              "FieldName": "TextField",
              "Name": "Category",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Category",
                  "Position": "0"
                },
                "TextFieldSettings": {
                  "Hint": "The category that is displayed below the title"
                }
              }
            }
          ]
        },
        {
          "Name": "Milestone",
          "Settings": {},
          "ContentPartFieldDefinitionRecords": [
            {
              "FieldName": "TextField",
              "Name": "Date",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Date",
                  "Position": "0"
                }
              }
            },
            {
              "FieldName": "MediaField",
              "Name": "Image",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Image",
                  "Position": "1"
                },
                "MediaFieldSettings": {
                  "Required": true,
                  "Multiple": false
                }
              }
            }
          ]
        },
        {
          "Name": "TeamMember",
          "Settings": {},
          "ContentPartFieldDefinitionRecords": [
            {
              "FieldName": "TextField",
              "Name": "Occupation",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Occupation",
                  "Position": "0"
                }
              }
            },
            {
              "FieldName": "MediaField",
              "Name": "Picture",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Picture",
                  "Position": "1"
                },
                "MediaFieldSettings": {
                  "Required": true,
                  "Multiple": false
                }
              }
            },
            {
              "FieldName": "TextField",
              "Name": "Twitter",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Twitter",
                  "Position": "2"
                },
                "TextFieldSettings": {
                  "Hint": "Twitter handle, e.g. @BillGates"
                }
              }
            },
            {
              "FieldName": "TextField",
              "Name": "Facebook",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Facebook",
                  "Position": "3"
                },
                "TextFieldSettings": {
                  "Hint": "Facebook handle"
                }
              }
            },
            {
              "FieldName": "TextField",
              "Name": "LinkedIn",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "LinkedIn",
                  "Position": "4"
                },
                "TextFieldSettings": {
                  "Hint": "LinkedIn handle"
                }
              }
            }
          ]
        },
        {
          "Name": "Client",
          "Settings": {},
          "ContentPartFieldDefinitionRecords": [
            {
              "FieldName": "MediaField",
              "Name": "Logo",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Logo",
                  "Position": "0"
                },
                "MediaFieldSettings": {
                  "Required": true,
                  "Multiple": false
                }
              }
            },
            {
              "FieldName": "TextField",
              "Name": "Url",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Url",
                  "Position": "1"
                }
              }
            }
          ]
        },
        {
          "Name": "Blockquote",
          "Settings": {},
          "ContentPartFieldDefinitionRecords": [
            {
              "FieldName": "TextField",
              "Name": "Quote",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Quote",
                  "Position": "0",
                  "Editor": "TextArea"
                }
              }
            }
          ]
        },
        {
          "Name": "Image",
          "Settings": {
            "ContentPartSettings": {
              "Attachable": true
            }
          },
          "ContentPartFieldDefinitionRecords": [
            {
              "FieldName": "MediaField",
              "Name": "Media",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Image",
                  "Position": "0"
                },
                "MediaFieldSettings": {
                  "Required": true,
                  "Multiple": false
                }
              }
            },
            {
              "FieldName": "TextField",
              "Name": "Caption",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Caption",
                  "Position": "1"
                },
                "TextFieldSettings": {
                  "Hint": "A description of the image used as title or alternate text"
                }
              }
            }
          ]
        },
        {
          "Name": "Paragraph",
          "Settings": {},
          "ContentPartFieldDefinitionRecords": [
            {
              "FieldName": "HtmlField",
              "Name": "Content",
              "Settings": {
                "ContentPartFieldSettings": {
                  "DisplayName": "Content",
                  "Position": "0",
                  "Editor": "Wysiwyg"
                }
              }
            }
          ]
        }
      ]
    },
    {
      "name": "content",
      "Data": [
        {
          "ContentItemId": "[js: uuid()]",
          "ContentType": "HtmlWidget",
          "DisplayText": "Footer",
          "Latest": true,
          "Published": true,
          "Owner": "[js: parameters('AdminUsername')]",
          "Author": "[js: parameters('AdminUsername')]",
          "LayerMetadata": {
            "Layer": "Always",
            "Zone": "Footer",
            "RenderTitle": false,
            "Position": 10
          },
          "HtmlWidget": {
            "Content": {
              "Html": "[file:text('Snippets/footer.html')]"
            }
          }
        }
      ]
    },
    {
      "name": "layers",
      "Layers": [
        {
          "Name": "Always",
          "Rule": "true",
          "Description": "The widgets in this layer are displayed on any page of this site."
        },
        {
          "Name": "Homepage",
          "Rule": "isHomepage()",
          "Description": "The widgets in this layer are only displayed on the homepage."
        }
      ]
    },
    {
      "name": "Content",
      "data": [
        {
          "ContentItemId": "[js:uuid()]",
          "ContentItemVersionId": "[js:uuid()]",
          "ContentType": "Menu",
          "DisplayText": "Main Menu",
          "Latest": true,
          "Published": true,
          "Owner": "[js: parameters('AdminUsername')]",
          "Author": "[js: parameters('AdminUsername')]",
          "MenuPart": {},
          "TitlePart": {
            "Title": "Main Menu"
          },
          "MenuItemsListPart": {
            "MenuItems": [
              {
                "ContentType": "LinkMenuItem",
                "ContentItemId": "[js:uuid()]",
                "LinkMenuItemPart": {
                  "Name": "Services",
                  "Url": "~/#services"
                }
              },
              {
                "ContentType": "LinkMenuItem",
                "ContentItemId": "[js:uuid()]",
                "LinkMenuItemPart": {
                  "Name": "Portfolio",
                  "Url": "~/#portfolio"
                }
              },
              {
                "ContentType": "LinkMenuItem",
                "ContentItemId": "[js:uuid()]",
                "LinkMenuItemPart": {
                  "Name": "About",
                  "Url": "~/#about"
                }
              },
              {
                "ContentType": "LinkMenuItem",
                "ContentItemId": "[js:uuid()]",
                "LinkMenuItemPart": {
                  "Name": "Team",
                  "Url": "~/#team"
                }
              },
              {
                "ContentType": "LinkMenuItem",
                "ContentItemId": "[js:uuid()]",
                "LinkMenuItemPart": {
                  "Name": "Contact",
                  "Url": "~/#contact"
                }
              }
            ]
          },
          "AliasPart": {
            "Alias": "main-menu"
          }
        },
        {
          "ContentItemId": "[js:uuid()]",
          "ContentItemVersionId": "[js:uuid()]",
          "ContentType": "LandingPage",
          "DisplayText": "[js: parameters('SiteName')]",
          "Latest": true,
          "Published": true,
          "Owner": "[js: parameters('AdminUsername')]",
          "Author": "[js: parameters('AdminUsername')]",
          "LandingPage": {},
          "AutoroutePart": {
            "Path": "home-page",
            "SetHomepage": true
          },
          "TitlePart": {
            "Title": "[js: parameters('SiteName')]"
          },
          "Services": {
            "ContentItems": [
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Service",
                "DisplayText": "E-Commerce",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Service": {
                  "IconClass": {
                    "Text": "fa-shopping-cart"
                  }
                },
                "HtmlBodyPart": {
                  "Html": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima maxime quam architecto quo inventore harum ex magni, dicta impedit."
                },
                "TitlePart": {
                  "Title": "E-Commerce"
                }
              },
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Service",
                "DisplayText": "Responsive Design",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Service": {
                  "IconClass": {
                    "Text": "fa-laptop"
                  }
                },
                "HtmlBodyPart": {
                  "Html": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima maxime quam architecto quo inventore harum ex magni, dicta impedit."
                },
                "TitlePart": {
                  "Title": "Responsive Design"
                }
              },
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Service",
                "DisplayText": "Web Security",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Service": {
                  "IconClass": {
                    "Text": "fa-lock"
                  }
                },
                "HtmlBodyPart": {
                  "Html": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima maxime quam architecto quo inventore harum ex magni, dicta impedit."
                },
                "TitlePart": {
                  "Title": "Web Security"
                }
              }
            ]
          },
          "Portfolio": {
            "ContentItems": [
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Project",
                "DisplayText": "Threads",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Project": {
                  "Image": {
                    "Paths": [
                      "/portfolio/01-full.jpg"
                    ]
                  },
                  "Category": {
                    "Text": "Illustrations"
                  }
                },
                "HtmlBodyPart": {
                  "Html": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Est blanditiis dolorem culpa incidunt minus dignissimos deserunt repellat aperiam quasi sunt officia expedita beatae cupiditate, maiores repudiandae, nostrum, reiciendis facere nemo!"
                },
                "TitlePart": {
                  "Title": "Threads"
                }
              },
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Project",
                "DisplayText": "Explore",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Project": {
                  "Image": {
                    "Paths": [
                      "/portfolio/02-full.jpg"
                    ]
                  },
                  "Category": {
                    "Text": "Graphic Design"
                  }
                },
                "HtmlBodyPart": {
                  "Html": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Est blanditiis dolorem culpa incidunt minus dignissimos deserunt repellat aperiam quasi sunt officia expedita beatae cupiditate, maiores repudiandae, nostrum, reiciendis facere nemo!"
                },
                "TitlePart": {
                  "Title": "Explore"
                }
              },
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Project",
                "DisplayText": "Finish",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Project": {
                  "Image": {
                    "Paths": [
                      "/portfolio/03-full.jpg"
                    ]
                  },
                  "Category": {
                    "Text": "Identity"
                  }
                },
                "HtmlBodyPart": {
                  "Html": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Est blanditiis dolorem culpa incidunt minus dignissimos deserunt repellat aperiam quasi sunt officia expedita beatae cupiditate, maiores repudiandae, nostrum, reiciendis facere nemo!"
                },
                "TitlePart": {
                  "Title": "Finish"
                }
              },
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Project",
                "DisplayText": "Lines",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Project": {
                  "Image": {
                    "Paths": [
                      "/portfolio/04-full.jpg"
                    ]
                  },
                  "Category": {
                    "Text": "Branding"
                  }
                },
                "HtmlBodyPart": {
                  "Html": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Est blanditiis dolorem culpa incidunt minus dignissimos deserunt repellat aperiam quasi sunt officia expedita beatae cupiditate, maiores repudiandae, nostrum, reiciendis facere nemo!"
                },
                "TitlePart": {
                  "Title": "Lines"
                }
              },
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Project",
                "DisplayText": "Southwest",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Project": {
                  "Image": {
                    "Paths": [
                      "/portfolio/05-full.jpg"
                    ]
                  },
                  "Category": {
                    "Text": "Web Design"
                  }
                },
                "HtmlBodyPart": {
                  "Html": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Est blanditiis dolorem culpa incidunt minus dignissimos deserunt repellat aperiam quasi sunt officia expedita beatae cupiditate, maiores repudiandae, nostrum, reiciendis facere nemo!"
                },
                "TitlePart": {
                  "Title": "Southwest"
                }
              },
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Project",
                "DisplayText": "Window",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Project": {
                  "Image": {
                    "Paths": [
                      "/portfolio/06-full.jpg"
                    ]
                  },
                  "Category": {
                    "Text": "Photography"
                  }
                },
                "HtmlBodyPart": {
                  "Html": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Est blanditiis dolorem culpa incidunt minus dignissimos deserunt repellat aperiam quasi sunt officia expedita beatae cupiditate, maiores repudiandae, nostrum, reiciendis facere nemo!"
                },
                "TitlePart": {
                  "Title": "Window"
                }
              }
            ]
          },
          "About": {
            "ContentItems": [
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Milestone",
                "DisplayText": "Our Humble Beginnings",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Milestone": {
                  "Date": {
                    "Text": "2009-2011"
                  },
                  "Image": {
                    "Paths": [
                      "/about/1.jpg"
                    ]
                  }
                },
                "HtmlBodyPart": {
                  "Html": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!"
                },
                "TitlePart": {
                  "Title": "Our Humble Beginnings"
                }
              },
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Milestone",
                "DisplayText": "An Creative is Born",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Milestone": {
                  "Date": {
                    "Text": "MARCH 2011"
                  },
                  "Image": {
                    "Paths": [
                      "/about/2.jpg"
                    ]
                  }
                },
                "HtmlBodyPart": {
                  "Html": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!\r\n"
                },
                "TitlePart": {
                  "Title": "An Creative is Born"
                }
              },
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Milestone",
                "DisplayText": "Transition to Full Service",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Milestone": {
                  "Date": {
                    "Text": "DECEMBER 2012"
                  },
                  "Image": {
                    "Paths": [
                      "/about/3.jpg"
                    ]
                  }
                },
                "HtmlBodyPart": {
                  "Html": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!"
                },
                "TitlePart": {
                  "Title": "Transition to Full Service"
                }
              },
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Milestone",
                "DisplayText": "Phase Two Expansion",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Milestone": {
                  "Date": {
                    "Text": "JULY 2014"
                  },
                  "Image": {
                    "Paths": [
                      "/about/4.jpg"
                    ]
                  }
                },
                "HtmlBodyPart": {
                  "Html": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!\r\n"
                },
                "TitlePart": {
                  "Title": "Phase Two Expansion"
                }
              }
            ]
          },
          "Team": {
            "ContentItems": [
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "TeamMember",
                "DisplayText": "Kay Garland",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "TeamMember": {
                  "Occupation": {
                    "Text": "Lead Designer"
                  },
                  "Picture": {
                    "Paths": [
                      "/team/1.jpg"
                    ]
                  },
                  "Twitter": {
                    "Text": "@BillGates"
                  },
                  "Facebook": {
                    "Text": "BillGates"
                  },
                  "LinkedIn": {
                    "Text": "williamhgates"
                  }
                },
                "TitlePart": {
                  "Title": "Kay Garland"
                }
              },
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "TeamMember",
                "DisplayText": "Larry Parker",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "TeamMember": {
                  "Occupation": {
                    "Text": "Lead Marketer"
                  },
                  "Picture": {
                    "Paths": [
                      "/team/2.jpg"
                    ]
                  },
                  "Twitter": {
                    "Text": "@BillGates"
                  },
                  "Facebook": {
                    "Text": "BillGates"
                  },
                  "LinkedIn": {
                    "Text": "williamhgates"
                  }
                },
                "TitlePart": {
                  "Title": "Larry Parker"
                }
              },
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "TeamMember",
                "DisplayText": "Diana Pertersen",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "TeamMember": {
                  "Occupation": {
                    "Text": "Lead Developer"
                  },
                  "Picture": {
                    "Paths": [
                      "/team/3.jpg"
                    ]
                  },
                  "Twitter": {
                    "Text": "@BillGates"
                  },
                  "Facebook": {
                    "Text": "BillGates"
                  },
                  "LinkedIn": {
                    "Text": "williamhgates"
                  }
                },
                "TitlePart": {
                  "Title": "Diana Pertersen"
                }
              }
            ]
          },
          "Clients": {
            "ContentItems": [
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Client",
                "DisplayText": "Envato",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Client": {
                  "Logo": {
                    "Paths": [
                      "/logos/envato.jpg"
                    ]
                  },
                  "Url": {
                    "Text": "#"
                  }
                },
                "TitlePart": {
                  "Title": "Envato"
                }
              },
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Client",
                "DisplayText": "Design Moto",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Client": {
                  "Logo": {
                    "Paths": [
                      "/logos/designmodo.jpg"
                    ]
                  },
                  "Url": {
                    "Text": "#"
                  }
                },
                "TitlePart": {
                  "Title": "Design Moto"
                }
              },
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Client",
                "DisplayText": "ThemeForest",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Client": {
                  "Logo": {
                    "Paths": [
                      "/logos/themeforest.jpg"
                    ]
                  },
                  "Url": {
                    "Text": "#"
                  }
                },
                "TitlePart": {
                  "Title": "ThemeForest"
                }
              },
              {
                "ContentItemId": "[js:uuid()]",
                "ContentItemVersionId": "[js:uuid()]",
                "ContentType": "Client",
                "DisplayText": "Creative",
                "Latest": false,
                "Published": false,
                "Owner": null,
                "Author": "[js: parameters('AdminUsername')]",
                "Client": {
                  "Logo": {
                    "Paths": [
                      "/logos/creative-market.jpg"
                    ]
                  },
                  "Url": {
                    "Text": "#"
                  }
                },
                "TitlePart": {
                  "Title": "Creative"
                }
              }
            ]
          }
        }
      ]
    },
    {
      "name": "Templates",
      "Templates": {
        "Content__LandingPage": {
          "Description": "A template for the Landing Page content type",
          "Content": "[file:text('Snippets/landingpage.liquid')]"
        }
      }
    }

  ]
}

Orchard-Core-Theme-030

Run the application by pressing the green play button.

Orchard-Core-Theme-031

Enter in the site name, select the "Creative" Recipe, enter in your credentials and then press the "Finish Setup" button.

Orchard-Core-Theme-032

Congratulations you have just create an Orchard Core theme.

Conclusion

With any Bootstrap template it's easy to create an Orchard Core Theme that can be selected, during the set up process, by using the liquid scripting language.

GitHub

The complete source code is located here.