Statiq Web is a powerful static web site generation toolkit suitable for most use cases. It's built on top of Statiq Framework so you can always extend or customize it beyond those base capabilities as well.
Quick Start
The easiest way to get started with Statiq Web is to install the Statiq.Web package into a .NET Core console application and use the bootstrapper to configure everything.
There's no statiq.exe
. Unlike other static generators which ship as a self-contained executable, Statiq is a framework and as such it runs from within your own console application. This provides the greatest flexibility and extensibility and is one of the unique aspects of using Statiq.
Step 1: Install .NET Core
Statiq Web consists of .NET Core libraries and installing the .NET Core SDK is the only prerequisite.
Step 2: Create a .NET Core Console Application
Create a new console application using the dotnet
command-line interface:
dotnet new console --name MySite
Step 3: Install Statiq.Web
In same folder as your newly created project (i.e. MySite
).
dotnet add package Statiq.Web --version x.y.z
Use whatever is the most recent version of Statiq.Web. The --version
flag is needed while the package is pre-release.
Step 4: Create a Bootstrapper
Creating a bootstrapper for Statiq Web initializes everything you’ll need to generate your web site. While you can certainly extend Statiq Web with new pipelines or custom modules, you shouldn’t need to for most sites. Add the following code in your Program.cs
file:
using System.Threading.Tasks;
using Statiq.App;
using Statiq.Web;
namespace MySite
{
public class Program
{
public static async Task<int> Main(string[] args) =>
await Bootstrapper
.Factory
.CreateWeb(args)
.RunAsync();
}
}
Step 5: Add Some Content
Start adding content by creating Markdown files in your input
folder, by default input folder is located in your project root.
To get something served you can add the following code as index.md
file in your input
folder.
Title: My First Statiq page
---
# Hello World!
Hello from my first Statiq page.
Step 6: Run it!
Let the magic happen:
dotnet run
This will by default create an output
folder in your project folder if it doesn't exists and generate static web site content based on what's in your input
folder.
Or run it and preview the generated site:
dotnet run -- preview
This will generate content and serve your output folder over HTTP (i.e. http://localhost:5080
).
Child Pages
Configuration
Statiq Web is designed to make the most common scenarios extremely easy without requiring any configuration, but sometimes you need a little more control.
Content And Data
Statiq Web has a variety of ways of reading, writing, and working with different kinds of files.
Themes
Themes allow you to apply general content, data, layouts, and settings to your own site.
Deployment
Statiq has built-in support for deployment to a variety of services.
Running Your Application
Once you've added some content and/or data, you can run your generator application.
Porting From Wyam
Statiq Web is roughly compatible with the Wyam blog recipe, but Statiq and Wyam are two different projects and not everything has a direct equivalent, especially if you customized your Wyam site. That said, whatever you could do in Wyam you can almost certainly do in Statiq, even if it's a little different. If you're having trouble figuring out how to port a particular feature, please head over to the discussions and let us know so we can help out.