New Project Templates

Published: 2018-02-15 in Piranha CMS by Håkan Edling

One of the major problems with the new component based structure of AspNetCore is that it's a bit more work to setup a new project. This of course also means that it takes a bit more knowledge to get started with Piranha CMS than it did with the old version. To solve this issue I'm working on releasing a couple of Project Templates together with the 4.2.0 release.

Cross-platform templates

One of the core concepts of Piranha CMS is to be as platform independent as possible. This means that I will not provide any Visual Studio templates as this is a Windows only solution, and instead focus on the .NET CLI tools.

Installing new templates

Templates in the .NET CLI are NuGet packages that you install on your computer. This is done with the simple command:

> dotnet new -i Piranha.BasicWeb.CSharp

After the template has been successfully installed you can create a new project by standing in an empty folder and typing.

> dotnet new piranha

By the default the ProjectFile and namespace will be named after the folder you're located in. Pretty easy, right!

The Basic Site template

Besides a classic empty template that just gives you the right references and code to wire up the DI I will also provide a Basic Site template. This will be created with Bootstrap 4.0 and provide a couple of different Page Types.

The styling will be based on .scss and is split up into base.scss and theme.scss so that you can quickly get rid of the default look to start crafting your own.

Start page

A classic startpage with a heading, collection of teasers and a main HTML body.


Blog archive

A nicely structured blog archive with a heading and post listing.

Blog Archive

Post detail

A post detail view with an optional primary image.

Post Detail

Basic content page

Just a standard content page with a HTML body. Nothing more, nothing less.

Basic page


As the 4.2 version isn't released yet I'd love to hear input on what you'd like to see in a project template. If you have certain types of pages that you almost always add for every project I'd be more than happy to include it!


If you want to take a look at the current source code for the project template or maybe contribute to it you can find it in the branch features/projecttemplates at GitHub.