nls-directree-searchonly v2.0.4
WIP (Work in Progress): This project is under heavy construction. Please, use with caution.
Getting Started
Rquirements
Install
Use npm or yarn to install that package.
npm i nls-directree
# OR
yarn nls-directreeUsage
Import/Require module
const dtree = require('nls-directree') // JavaScript
// OR
import * as dtree from 'nls-directree' // TypeScriptExample folder structure
path/to/your/directory
├── contact.md
├── disclaimer.md
├── imprint.md
├── index.md
├── news.md
├── vita.md
└── work
    ├── drawing
    │   └── Z-WV-2018-001
    │       ├── index.md
    │       └── Z-WV-2018-001-0.jpeg
    │   ├── example.jpg
    │   └── index.md
    └── sculpturedtree.read(dir: string): array
read() inspects the given dir directory and outputs the tree.
Example code
console.dir(dtree.read('path/toy/your/directory/work'), { depth: null })Expected output
[ 
  { 
    drawing: [ 
      { 
        'Z-WV-2018-001': [ 
          'Z-WV-2018-001-0.jpeg', 
          'index.md'
        ] 
      } 
    ] 
  },
  'example.jpg',
  'index.md',
  { 
    sculpture: [] 
  } 
]dtree.search(paths: array, query: null|string): array
search() expects an array of paths (formely the output of read()) and a query string separated by / (human-readable path).
Example code
console.dir(dtree.search(dtree.read('path/to/your/directory'), 'work/drawing'), { depth: null })Expected output
[ 
  { 
    'Z-WV-2018-001': [ 
      'Z-WV-2018-001-0.jpeg', 
      'index.md'
    ]
  } 
]dtree.write(dir: array|string, dest: string): boolean
write() expects a compiled direcrory tree with read() or a path to the wished directory and the path to the destination file, where to write the content as JSON.
Example code
dtree.write('path/to/your/directory', 'paths.json') Will write a file to ./paths.json (the identical folder, where your excuting that code) in JSON format:
{
 "paths": [
   "contact.md",
   "disclaimer.md",
   "imprint.md",
   "index.md",
   "news.md",
   "paths.json",
   "vita.md",
   {
     "work": [
       {
         "drawing": [
           {
             "Z-WV-2018-001": [
               "Z-WV-2018-001-0.jpeg",
               "index.md"
             ]
           }
         ]
       },
       "example.md",
       "index.md"
       {
         "sculpture": [ ]
       }
     ]
   }
 ]
}Development
Any contribution to that code base is warmly welcomed. Feel free to send merge requests, commits, improvements, issues and any kind of participation.
Usefull Scripts
| command | description | 
|---|---|
npm run test | start test environment | 
Meta Information
Informations about the motivation, authors and license
Author
- Michael Czechowski (mail@dailysh.it)
 
License
Copyright (C) 2018 Michael Czechowski
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.