This handler provides an easy way to serve a static website such as a Hugo application to your clients.
NOTE Static websites can quickly be created by using a project template.
The following example will make the specified application available on http://localhost:8080/.
The handler will search for index files (such as index.html
) and automatically
generate a sitemap and robots instruction file. If
those files already exist in the given web root, they will be served directly instead.
var tree = ResourceTree.FromDirectory("/var/html/my-website");
var app = StaticWebsite.From(tree);
Host.Create()
.Console()
.Defaults()
.Handler(app)
.Run();
With this handler, a static website can be hosted with just a few lines of code using Docker.
If you would like to combine a static website with dynamic content such as a webservice, you can use the handler as an additional root of a Layout:
var api = Layout.Create()
.AddService<...>("...");
var content = Layout.Create()
.Add("api", api)
.Add(StaticWebsite.From(...))
Host.Create()
.Console()
.Defaults()
.Handler(app)
.Run();