Douglas Christopher Wilson a189d6b5e5 docs: link to license from readme
2014-08-25 18:30:59 -04:00
2014-03-05 18:40:54 -05:00
2014-05-28 16:36:56 -04:00
2014-05-28 16:56:31 -04:00
2014-08-10 17:45:04 -04:00
2014-08-10 17:40:45 -04:00
2014-03-05 18:40:54 -05:00
2014-08-25 18:27:54 -04:00
2014-08-25 18:30:59 -04:00

serve-index

NPM Version NPM Downloads Build Status Test Coverage Gittip

Serves pages that contain directory listings for a given path.

Install

$ npm install serve-index

API

var serveIndex = require('serve-index')

serveIndex(path, options)

Returns middlware that serves an index of the directory in the given path.

The path is based off the req.url value, so a req.url of '/some/dir with a path of 'public' will look at 'public/some/dir'. If you are using something like express, you can change the URL "base" with app.use (see the express example).

Options

  • hidden - display hidden (dot) files. Defaults to false.
  • view - display mode. tiles and details are available. Defaults to tiles.
  • icons - display icons. Defaults to false.
  • filter - Apply this filter function to files. Defaults to false.
  • stylesheet - Optional path to a CSS stylesheet. Defaults to a built-in stylesheet.
  • template - Optional path to an HTML template. Defaults to a built-in template.
    • The following tokens are replaced in templates:
    • {directory} with the name of the directory.
    • {files} with the HTML of an unordered list of file links.
    • {linked-path} with the HTML of a link to the directory.
    • {style} with the specified stylesheet and embedded images.

Examples

Serve directory indexes with vanilla node.js http server

var finalhandler = require('finalhandler')
var http = require('http')
var serveIndex = require('serve-index')
var serveStatic = require('serve-static')

// Serve directory indexes for public/ftp folder (with icons)
var index = serveIndex('public/ftp', {'icons': true})

// Serve up public/ftp folder files
var serve = serveStatic('public/ftp')

// Create server
var server = http.createServer(function onRequest(req, res){
  var done = finalhandler(req, res)
  serve(req, res, function onNext(err) {
    if (err) return done(err)
    index(req, res, done)
  })
})

// Listen
server.listen(3000)

Serve directory indexes with express

var express    = require('express')
var serveIndex = require('serve-index')

var app = express()

// Serve URLs like /ftp/thing as public/ftp/thing
app.use('/ftp', serveIndex('public/ftp', {'icons': true}))
app.listen()

License

MIT. The Silk icons are created by/copyright of FAMFAMFAM.

S
Description
No description provided
Readme MIT 832 KiB
Languages
JavaScript 85%
CSS 9.6%
HTML 5.4%