Command Line

working with hyde

The hyde command line supports these subcommands:

  1. create - Initializes a new site at a given path
  2. gen - Generates the website to a configured deploy folder
  3. serve - Starts a local http server that regenerates based on the requested file
  4. publish - Publishes the generated site based on configuration.

The create command

Creates a new hyde website.

hyde create
 
hyde [-s </site/path>] [-v] create [-l <layout>] [-f] [-h]

Bash

-s SITEPATH, --sitepath SITEPATH

Where the site must be created.

Path must not exist. If it exists then the -f option must be specified to overwrite the folder.

Optional - defaults to current working directory - in this case it requires the -f parameter.

-f, --force

Specifying this option will overwrite files and folders at the given site path.

Optional - If the target directory is not empty, hyde will throw an exception unless this is specified.

-l LAYOUT, --layout LAYOUT

The name of the layout to use for creating the initial site. Hyde currently has three layouts: basic, test and doc.

While basic and test are really barebones, doc is the one that generates this documentation and is completely usable. Hyde will get more layouts over time.

Hyde tries to locate the specified layout in the following folders:

  1. In layouts folder under the path specified by the HYDE_DATA environment variable
  2. In layouts folder under hyde

Optional - defaults to basic

Assuming the HYDE_DATA environment variable is empty and the folder ~/test is empty, the following command will create a new hyde site at ~/test with the contents of layouts/doc folder:

hyde -s ~/test create -l doc

Bash

-v, --verbose

Logs detailed messages to the console.

Optional - shows only essential messages if this option is omitted.

-h

Displays the help text for the create command.

The generate command

Generates the given website.

hyde gen
 
hyde [-s <site/path>] [-v] gen [-r] [-d <deploy/path>] [-c <config/path>] [-h]

Bash

-s SITEPATH, --sitepath SITEPATH

The path to the site to be generated.

Optional - defaults to current working directory.

-r, --regen

Regenerate the entire website. By default hyde performs incremental generation. While hyde does a good job at understanding the dependencies, its far from perfect. When there are cases where the incremental generation does not yield the desired results, you can provide this option to generate the website from scratch.

Optional - defaults to incremental generation.

-d DEPLOY_PATH, --deploy-path DEPLOY_PATH

Location where the site should be generated. This option overrides any setting specified in the hyde configuration. The path is assumed to be relative to the site path unless a preceding path separator is found.

Optional - Uses what is specified in the config file. The default option in the configuration file is: deploy folder under the current site path.

-c CONFIG, --config-path CONFIG

This is used for specifying an alternate configuration file to use for generating the site. This is useful if you have two different configurations for you production versus development websites.

The path is assumed to be relative to the site path unless a preceding path separator is found.

Optional - defaults to site.yaml

The following command will use production.yaml as the configuration file and generate the website at ~/test to ~/production_site directory.

cd ~/test
hyde gen -c production.yaml -d ~/production_site

Bash

-v, --verbose

Logs detailed messages to the console.

Optional - shows only essential messages if this option is omitted.

-h

Displays the help text for the gen command.

The serve command

Starts the built in web server that also regenerates based on the request if there are changes.

hyde serve
 
hyde [-s </site/path>] [-v] gen [-d </deploy/path>] [-c <config/path>] [-h]

Bash

-s SITEPATH, --sitepath SITEPATH
-d DEPLOY_PATH, --deploy-path DEPLOY_PATH
-c CONFIG, --config-path CONFIG

Since the serve command auto generates if there is a need, it needs the same parameters as the gen command. The above parameters serve the same purpose here as in the gen command.

-a ADDRESS, --address ADDRESS

The address to serve the website.

Optional - defaults to localhost

-p PORT, --port

The port to serve the website.

Optional - defaults to 8080

The following command will serve the website at http://localhost:8181

cd ~/test
hyde serve -p 8181

Bash

-h

Displays the help text for the serve command.

The publish command

Publishes the site based on configuration. Currently the only supported publishing target is a git repository. See the publisher documentation for more information.

hyde [-s </site/path>] [-v] publish -p <conf> [-m <msg>] [-c <config/path>] [-h]

Bash

-s SITEPATH, --sitepath SITEPATH

The path to the site to be generated.

Optional - defaults to current working directory.

-p CONFIG

This should point to a configuration section in the site configuration that has the settings for the publisher. For example:

The following configuration (taken from this site), when invoked with hyde publish -p github will use the Git publisher to publish the generated site to hyde/hyde.github.com repository.

publisher:
github:
type: hyde.ext.publishers.dvcs.Git
path: ../hyde.github.com
url: git@github.com:hyde/hyde.github.com.git

YAML