Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
October 14, 2022 16:00
November 4, 2020 08:53
January 25, 2023 21:43
June 28, 2015 22:57
December 21, 2020 10:22

Cake Website

This is the Cake website. It's a static site generated by Wyam which is hosted on Azure. Wyam is a static content toolkit and can be used to generate web sites, produce documentation, create ebooks, and much more.


Any contributions are appreciated, no matter how big or small. The Cake site consists of several different sections and each one is described below.

NOTE If you're interested in contributing please reach out to us on GitHub Discussions first.


The basic documentation pages can be found under ./input/docs. The directory structure mirrors what's on the site. Most pages are written in Markdown. To add a new page, just add a new file.


The Cake site contains a blog where important announcements and other relevant information are posted. The blog posts can be found under ./input/blog. As with documentation pages, blog posts are written in Markdown. The file name for each blog post contains its published date in the format


PLEASE NOTE: Extension authors do not have to manually create YAML files as there is an automated process that scans twice per day to find all extensions that follow the recommended naming convention (which is for addins and for modules, where xxx describes the functionality provided by the extension) and generates the appropriate YAML content based on the metadata for the NuGet package.

All extensions are specified in individual YAML files under ./extensions. Adding an extension here will trigger downloading it's NuGet Package during site generation and will include it in the "Reference" and "Extensions" sections of the Cake site.

The format of an extension file generally looks like:

Type: Addin
Name: Cake.Wyam
NuGet: Cake.Wyam
- "/**/Cake.Wyam.dll"
Author: Dave Glick, Gary Ewan Park
Description: "An alias that generates static sites and other content using Wyam."
- Documentation
- Static Site Generation

Type can be one of the following values: Addin, Module, Recipe.


Search uses Algolia DocSearch as backend. Configuration for crawler is available at


The site is built using Cake (of course!). There are a number of different targets depending on what you're working on and how complete you want the generated site to be.

build --target=GetSource will download the Cake source code that the generation process uses to create the "API" section.

build --target=GetExtensionPackages will download new NuGet packages for all specified extensions. These packages are used to create the "Reference" and "Extensions" sections.

build --target=GetArtifacts will download both the Cake source code and the extension NuGet packages.

build --target=Build will run a complete build, downloading new copies of Cake source code and extension NuGet packages. Note that due to the number of extensions and the complexity of generating complete API documentation, the site generation may take a while (sometimes as long as 20 minutes).

build --target=Preview will run a build but will not download Cake source code or NuGet packages. This lets you shorten the build cycle by avoiding the time to obtain those resources if you've already downloaded them, or to bypass them altogether if you're just working on something like general documentation pages. This target will also launch a preview server to look at the generated site from a local web browser. The URL of the generated preview site is http://localhost:5080/.