buttle

Serve static files from cwd

buttle

Simple static file (+ markdown) server.

Another static file server? Why buttle? Well... if you came here looking for a blazing fast server of static files, something with caching and compression options then you're in luck, that does exist! It just isn't buttle.

Buttle is tailored for use in development. It has baked in live reloading for html and markdown files. It'll on-the-fly convert your LESS filess to CSS... and cache nothing because it assumes you're actively hacking away. With buttle you can test drive that angular app you just cloned or maybe have your test runner page refresh whenever a source file is changed.

npm install -g buttle
buttle

Now you're serving files from your current working directory.

Use your favorite port:

buttle --port [your favorite port]

Disable automatic directory listing:

buttle --nodir

Live reload your html and markdown pages whenever watched files change:

buttle --watch **/*.md

Open files on server startup:

buttle --open index.html

Set automatic index file names:

buttle --index foo.html,bar.html

Requests for styles/main.css will also find styles/main.less if the vanilla CSS file does not exist.

Buttle will happily serve up your .php files. Make sure php is in your path or provide a path to the php binary with the --php-bin flag on the command line or the phpBin property in your .buttlerc file.

It's can be a pain to specify the same config options over and over. Place a JSON file named .buttlerc in the directory your run buttle from:

{
  "port": 9000,
  "open": "README.md",
  "watch": "*.md",
  "phpBin": "/path/to/php/executable"
}
  • v0.0.10 Allow for arbitrary php binaries
  • v0.0.7 Add "index" detection
  • v0.0.6 Read .buttlerc for options if it exists
  • v0.0.5 Add support for opening files on server startup
  • v0.0.4 Add ability to list directory contents

MIT