Wyam is a static content generator and can be used to generate web sites. And also produce documentation, create ebooks, and much more.
Then since everything is configured by chaining together flexible modules (that you can even write yourself). Therefore the only limits to what it can create are your imagination.
Written in .NET and easily extensible
- Low ceremony – download a zip file, unzip, and run
- Flexible script-based configuration using the power of the .NET Compiler Platform (Roslyn)
- Lots of modules for things like reading and writing files, handling frontmatter and manipulating metadata YAML parser
- Less CSS compiler
- Support for multiple templating languages including Razor
- Integrated web server for previewing output
- Integrated file watching and regeneration
- Full NuGet support
- Embeddable engine
The primary concepts in Wyam are documents, metadata, modules, pipelines, recipes, and themes.
While not strictly necessary if you’re just planning on using a recipe. Then understanding these concepts will go a long way towards making sense of how your generation works. And how best to customize it to your needs.
- Documents. A document is combination of content, metadata and is what conveys information through the framework.
- Metadata. Metadata is the primary means of passing information between modules and pipelines.
- Module. A module is a small single-purpose component that acts on documents.
- Shortcodes. Shortcodes are small but powerful macros that can generate content in your documents.
- Pipelines. A pipeline is a series of modules executed in sequence.
- Recipes. A recipe is a pre-configured series of modules and pipelines.
- Themes. Each theme contains a set of content such as CSS files, layouts, etc. that apply to a specific recipe.
- I/O. Explains Wyam’s powerful I/O abstraction.
How to obtain, configure, and execute Wyam.
- Obtaining. How to download and install.
- Command Line. Describes how to run Wyam from the command line and the available options.
- Configuration. Describes the format of the configuration file.
- Settings. How to set global settings and a list of all general settings metadata.
- Embedding. Wyam can be embedded into your own application.
- Executing In A Unit Test. How to call Wyam from within a unit test.
- Examples. Where to find usage examples.
One of the many benefits of static generation is that the end result is a collection of final files. By default, Wyam places the result of your build in the output folder.
You can manually deploy your site by simply uploading these files to your host. However there are also other ways to build and deploy your content described below.
- AppVeyor for Continuous Integration How to use GitHub Pages and AppVeyor to enable a free
- Continuous integration environment for your site.
- Azure, How to deploy your static site to Azure.
- Netlify, How to deploy your static site to Netlify.
- Serving From A Subdirectory How to support hosts that place your site under a subdirectory.
- SSL and HTTPS Making your Wyam site work over HTTPS.
- Using Cake Instrument your build and deployment steps with Cake.
Wyam is extremely extensible and these topics discuss the ways in which you can extend it.
- Creating A Theme. Explains how to create and distribute your own theme.
- Customizing Recipe Pipelines. Tips for customizing recipes by modifying their pipelines and modules.
- Customizing Themes. Tips for customizing recipes by modifying their themes.
- Writing a Module. How to write a module for Wyam.
Discussions of more advanced topics and how to bend Wyam to your will.
- Customs Document. TypesUse custom document types to add new document behavior.
- Document Content Streams. How content for documents is stored and how to customize that behavior.
- Migrating to 0.12.x. How to migrate existing sites to the new IO abstraction in 0.12.x.
- Setting The Culture.
What To Exclude From Source Control Files and folders that generate and should not be included in source control.
Additional resource about Wyam and about static generation in general.
- Some Background. A little background on the name and intent of this project.
- Built With Wyam. These people know how to party!
- Blog Posts. Blog posts about Wyam from around the web.
- Hosts. A list of hosts specializing in static sites.
Wyam is crafted by Dave Glick and other awesome contributors. Code on GitHub.