Running commands is done through the chef program. You can type chef --help
and get the complete list of commands and options.
The most common commands are:
init: This is the command that creates a new website. All it does really is
create a new directory with a config.yml file in it. For more information,
see the Website Structure page.
prepare: Creating and editing text files is easy enough, but it can be even
easier if you have a command to name the file for you — especially for blog
posts which often require today’s date in their name. The prepare command
can create a variety of content, but prepare page and prepare post are the
most common usage. More more information, see Creating Pages.
serve: Previewing your website locally as you work on it is made possible by
PieCrust’s built-in web server. After running the serve command, your
website will be reachable at http://localhost:8080. Hitting <F5> to
refresh the page is all you need to see updated content as you edit it.
bake: Finally, the bake command transforms all your content — pages,
templates, layouts, assets — into a self-contained static website that you
can upload to your public server.
The chef accepts various global options that can be useful in advanced
scenarios:
--root <dir> lets you specify the root directory of a website in which to
run the command. This means you don’t need to change the current working
directory to that website, which can be necessary for scripting, for instance.
--config <name> lets you specify a configuration variant to apply before
running the command. A configuration variant is a fragment of website config
that lets you override what’s defined normally in config.yml. For more
information, see the website configuration page.
Several global options relate to logging:
--quiet will make PieCrust only print out very important messages
or errors.
--debug does the opposite, making PieCrust print lots of
debugging information, including stack traces when errors occur — which is
useful for troubleshooting a problem.
--log lets you log to a file. The complementary --log-debug lets you log
debug information (like --debug) but only to the log file, which reduces
spam in the console.