Skip to content

Console Commands

The primary way of interacting with Hyde is through the command line using the HydeCLI.

If you have ever used the Artisan Console in Laravel you will feel right at home, the HydeCLI is based on Artisan after all!

Introduction

To use the HydeCLI, run php hyde from your project directory followed by a command.

All HydeCLI commands start with php hyde. Anything in [brackets] is optional. If an argument or option value has a space in it, it needs to be wrapped in quotes.

The HydeCLI exists at the root of your application as the hyde script and provides a number of helpful commands that can assist you while you build your site. To view a list of all available Hyde commands, you may use the list command:

// torchlight! {"lineNumbers": false}
php hyde list

Got stuck? The CLI can help.

Every command also includes a "help" screen which displays and describes the command's available arguments and options. To view a help screen, precede the name of the command with help:

// torchlight! {"lineNumbers": false}
php hyde help <command>

You can also always add --help to a command to show detailed usage information.

// torchlight! {"lineNumbers": false}
php hyde <command> --help

Available Commands

Here is a quick reference of all the available commands. You can also run php hyde list to see this list.

Command Description
build Build the static site
serve Start the realtime compiler server
rebuild Run the static site builder for a single file
build:rss Generate the RSS feed
build:search Generate the docs/search.json file
build:sitemap Generate the sitemap.xml file
make:page Scaffold a new Markdown, Blade, or documentation page file
make:post Scaffold a new Markdown blog post file
publish:configs Publish the default configuration files
publish:homepage Publish one of the default homepages as index.blade.php
publish:views Publish the hyde components for customization. Note that existing files will be overwritten
vendor:publish Publish any publishable assets from vendor packages
route:list Display all registered routes
validate Run a series of tests to validate your setup and help you optimize your site
list List all available commands

Build the Static Site

// torchlight! {"lineNumbers": false}
php hyde build [--run-dev] [--run-prod] [--run-prettier] [--pretty-urls] [--no-api]

Build the static site

Options

--run-dev Run the NPM dev script after build
--run-prod Run the NPM prod script after build
--run-prettier Format the output using NPM Prettier
--pretty-urls Should links in output use pretty URLs?
--no-api Disable API calls, for example, Torchlight

Run the static site builder for a single file

// torchlight! {"lineNumbers": false}
php hyde rebuild <path>

Run the static site builder for a single file

Arguments

path The relative file path (example: _posts/hello-world.md) \n - Is required: yes

Start the Realtime Compiler Server

// torchlight! {"lineNumbers": false}
php hyde serve [--host [HOST]] [--port [PORT]]

Start the realtime compiler server.

Options

--host= [default: "localhost"]
--port= [default: 8080]

Test and validate your project to optimize your site

// torchlight! {"lineNumbers": false}
php hyde validate

Run a series of tests to validate your setup and help you optimize your site.

Generate the RSS Feed

// torchlight! {"lineNumbers": false}
php hyde build:rss

Generate the RSS feed

Generate the docs/search.json file

// torchlight! {"lineNumbers": false}
php hyde build:search

Generate the docs/search.json file

Generate the sitemap.xml file

// torchlight! {"lineNumbers": false}
php hyde build:sitemap

Generate the sitemap.xml file

Scaffold a new Markdown, Blade, or documentation page file

// torchlight! {"lineNumbers": false}
php hyde make:page [--type [TYPE]] [--blade] [--docs] [--force] [--] [<title>]

Scaffold a new Markdown, Blade, or documentation page file

Arguments & Options

title The name of the page file to create. Will be used to generate the filename
--type=markdown The type of page to create (markdown, blade, or docs)
--blade Create a Blade page
--docs Create a Documentation page
--force Overwrite any existing files

Scaffold a new Markdown blog post file

// torchlight! {"lineNumbers": false}
php hyde make:post [--force] [--] [<title>]

Scaffold a new Markdown blog post file

Arguments & Options

title The title for the Post. Will also be used to generate the filename
--force Should the generated file overwrite existing posts with the same filename?

Publish the Default Configuration Files

// torchlight! {"lineNumbers": false}
php hyde publish:configs

Publish the default configuration files

Publish one of the default homepages as index.blade.php.

// torchlight! {"lineNumbers": false}
php hyde publish:homepage [--force] [--] [<homepage>]

Publish one of the default homepages as index.blade.php.

Arguments & Options

homepage The name of the page to publish
--force Overwrite any existing files

Publish the hyde components for customization

// torchlight! {"lineNumbers": false}
php hyde publish:views [<category>]

Publish the hyde components for customization. Note that existing files will be overwritten.

Arguments

category The category to publish

Display all Registered Routes.

// torchlight! {"lineNumbers": false}
php hyde route:list

Display all registered routes.

Publish any publishable assets from vendor packages

// torchlight! {"lineNumbers": false}
php hyde vendor:publish [--existing] [--force] [--all] [--provider [PROVIDER]] [--tag [TAG]]

Publish any publishable assets from vendor packages

Options

--existing Publish and overwrite only the files that have already been published
--force Overwrite any existing files
--all Publish assets for all service providers without prompt
--provider= The service provider that has assets you want to publish
--tag= One or many tags that have assets you want to publish \n- Is multiple: yes