UNPKG

catlogjs

Version:

Static site generator, translate human readable text format(such as markdown) into html, with a lot of other functions

43 lines (36 loc) 1.1 kB
fs = require 'fs' path = require 'path' directory = {} directory.rm_recur = (dir) -> if fs.lstatSync(dir).isDirectory() for subdir in fs.readdirSync(dir) directory.rm_recur path.join(dir, subdir) fs.rmdirSync dir else fs.unlinkSync dir directory.mkdir_parent = (dir, mode) -> try fs.mkdirSync dir, mode catch error if error and error.errno is 34 directory.mkdir_parent path.dirname(dir), mode directory.mkdir_parent dir, mode else throw error directory.traverse = (dir, iterator) -> iterator dir if fs.statSync(dir).isDirectory() for subdir in fs.readdirSync(dir) directory.traverse path.join(dir, subdir), iterator directory.list = (dir, filter) -> srcs = [] directory.traverse dir, (src) -> if not filter or filter src srcs.push src return srcs directory.root = (cwd=process.cwd(), identifier) -> cur = cwd while cur isnt '/' and not fs.existsSync path.join(cur, identifier) cur = path.dirname cur return if fs.existsSync path.join(cur, identifier) then cur else null module.exports = directory