3.1.0 • Published 10 years ago

bootstrap-treeview-node v3.1.0

Weekly downloads
13
License
MIT
Repository
github
Last release
10 years ago

bootstrap-treeview-node

Creates an javascript object representing a directory tree.

Install

npm i -S bootstrap-treeview-node

##Usage

var dirTree = require('bootstrap-treeview-node')
var tree = dirTree('/some/path')

And you can also filter by extensions (with Array), or by name patterns (with RegExp):

var dirTree = require('bootstrap-treeview-node')
var filteredTree = dirTree('/some/path', {include: ['.jpg', '.png']})

This will take a directory tree:

photos
├── summer
│   └── june
│       └── windsurf.jpg
└── winter
    └── january
        ├── ski.png
        └── snowboard.jpg

And return a js object:

{
  "href": "photos",
  "text": "photos",
  "size": 600,
  "nodes": [
    {
      "href": "photos/summer",
      "text": "summer",
      "size": 400,
      "nodes": [
        {
          "href": "photos/summer/june",
          "text": "june",
          "size": 400,
          "nodes": [
            {
              "href": "photos/summer/june/windsurf.jpg",
              "size": 400,
              "text": "windsurf.jpg",
            }
          ]
        }
      ]
    },
    {
      "href": "photos/winter",
      "text": "winter",
      "size": 200,
      "nodes": [
        {
          "href": "photos/winter/january",
          "text": "january",
          "size": 200,
          "nodes": [
            {
              "href": "photos/winter/january/ski.png",
              "text": "ski.png",
              "size": 100,
            },
            {
              "href": "photos/winter/january/snowboard.jpg",
              "text": "snowboard.jpg",
              "size": 100,
            }
          ]
        }
      ]
    }
  ]
}

API

dirTree(path , options)

  • path {String}: is the relative or absolute path to the base directory e.g. '.' for cwd.
  • options {Object}: Options object

Options

  • href {Function}: overridable function to generate href string from path: href = opts.href(path)s
  • root {String}: resolve href path to this root path.
  • include {RegExp|Array}: optional, Array tests the file extension, RegExp tests the filename.
  • ignore {RegExp|Array}: optional, Array tests the file extension, RegExp tests the filename.

Examples

var tree
tree = dirTree('.', {root: '/', include: ['.jpg', '.png']}) // list only files with .jpg or .png file extensions, resolve href to '/'
tree = dirTree('/home/pi', {include: /^[A-z]/}) // list only files/directories that start with letters
tree = dirTree('../', {ignore: /^\./}) // ignore only files/directories that start with a dot like .git

var relPath = '../node_modules'
tree = dirTree(relPath, {
  href: function (path) { return path.replace(relPath, '') }, // replace relative path and take as new `root href`
  root: '/'
})

Test

To run tests go the package root in your CLI and run,

$ npm test

Make sure you have the dev dependcies installed (e.g. npm install .)

Credit

3.1.0

10 years ago

3.0.1

10 years ago

3.0.0

10 years ago

2.0.0

10 years ago

1.0.0

10 years ago