A simple static HTTP server, for learning and local development.
basic-http-server is designed for two purposes:
for local development. It serves static HTML content, and with the
-xflag, provides convenience features useful for creating developer documentation, including markdown rendering and directory listing.
When passed the
basic-http-server enables additional conveniences
useful for developing documentation locally. Those extensions are:
Rendering files with the ".md" extension as Markdown.
Listing directories when no "index.html" file is found.
Serving common source code files as "text/plain" so they are rendered in the browser.
basic-http-server useful for the following scenarios:
Previewing markdown content. Draft your
README.mdchanges and view them locally before pushing to GitHub.
Navigating to local documentation, including Rust API documentation. Just run
basic-http-server -xin your project directory, and use the directory listing to navigate to
target/doc, then find the crates to read from there (
cargo docdoesn't put an
Installation and Use
basic-http-server is not production-ready and should not be
exposed to the internet. It is a learning and development tool.
$ cargo install basic-http-server $ basic-http-server
To turn on the developer extensions, pass
$ basic-http-server -x
To increase logging verbosity use
RUST_LOG=basic_http_server=trace basic-http-server -x
Command line arguments:
USAGE: basic-http-server [FLAGS] [OPTIONS] [ARGS] FLAGS: -x Enable developer extensions -h, --help Prints help information -V, --version Prints version information OPTIONS: -a, --addr <ADDR> Sets the IP:PORT combination (default "127.0.0.1:4000") ARGS: ROOT Sets the root directory (default ".")