Skip to content
A metalsmith plugin to serve the build directory. – This plugin is up for adoption.
JavaScript
Branch: master
Clone or download

Latest commit

mayo Merge pull request #17 from zakhenry/fix/shutdown-sockets
fix(shutdown):Implemented socket tracking and destroy.
Latest commit d9d13a5 Jul 18, 2016

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib fix(shutdown):Added tests to assert the sockets are closed Jun 9, 2016
test fix(shutdown):Added tests to assert the sockets are closed Jun 9, 2016
.gitignore Update gitignore Oct 23, 2014
.travis.yml Stop building on old node.js Jan 6, 2016
README.md Updating the README with gzip information May 5, 2016
package.json Bump version Jan 6, 2016

README.md

Build Status

metalsmith-serve

A metalsmith plugin to serve the build directory. Best used in development and with metalsmith-watch.

Installation

$ npm install metalsmith-serve

Basic Example

var metalsmith = require('metalsmith');
var serve = require('metalsmith-serve');

metalsmith(__dirname)
  .use(serve())
  .build(function(err) {
    if (err) { throw err; }
  });

This will serve Metalsmith's build directory on localhost:8080. By default, metalsmith-serve will only log error requests.

Advanced Example

var metalsmith = require('metalsmith');
var serve = require('metalsmith-serve');

metalsmith(__dirname)
  .use(serve({
    port: 8081,
    verbose: true,
    http_error_files: {
      404: "/404.html"
    },
    redirects: {
      '/old_url.php'        : '/new_url/',
      '/old_url.php?lang=en': '/en/new_url/'
    }
  }))
  .build(function(err) {
    if (err) { throw err; }
  });

This will serve Metalsmith's build directory on localhost:8081 and will show all served requests. Requests for missing files will be served with the contents of /404.html. /old_url.php and /old_url.php?lang=en will be redirected with 301 headers.

Options

host

Type: String Default: localhost

Hostname or IP to listen on.

port

Type: Number Default: 8080

Port to listen on.

cache

Type: Number Default: 0

Number of seconds to cache served files

document_root

Type: String Default: metalsmith.destination()

Directory which to serve. Given path will be resolved with path.resolve()

verbose

Type: Boolean Default: false

Log all requests

http_error_files

Type: Object Default: undefined

Serves a corresponding file to error codes. The common usage is a 404 file if the requested file isn't located.

e.g.

"http_error_files": {
  404: "/404.html"
}

redirects

Type: Object Default: {}

Redirects with 301 headers unless the file is located.

e.g.

"redirects": {
  '/old_url.php'        : '/new_url/',
  '/old_url.php?lang=en': '/en/new_url/'
}

gzip

Type: Boolean Default: false

Enable node-static's gzip option. Read more here.

License

MIT

You can’t perform that action at this time.