operator 0.0.1

A web server for static and dynamic content
Documentation

Operator

Operator is an experimental web server for static and dynamic content. You give it a directory and it makes a website.

Operator serves static files the way you'd expect, but it can also serve dynamic content generated by handlebars templates and executables.

Installation

Operator is a single self-contained binary. At the moment, the best way to get a binary for your platform is to build one yourself. First install Rust, then:

git clone https://github.com/mkantor/operator.git
cd operator
cargo build --release # This will take a while.
echo '{{#if true}}Hello, operator!{{/if}}' \
  | ./target/release/operator eval --content-directory=/dev/null

Usage

The CLI has three subcommands:

  1. eval evaluates a handlebars template from STDIN.
  2. get renders content from a content directory.
  3. serve starts an HTTP server.

serve is where the real action is, but the other two come in handy at times.

These commands all require a "content directory", which is just a folder where your website content lives. There are a bunch of example content directories in samples/.

To learn more, run operator --help or operator <SUBCOMMAND> --help.

Example

Let's start a server for one of the samples:

operator -vv serve \
  --content-directory=samples/realistic-advanced \
  --index-route=home \
  --error-handler-route=error-handler \
  --bind-to=127.0.0.1:8080

Open http://localhost:8080 in your browser of choice to see the website!