Easily rename files using custom rename functions that are automatically used against any filepaths that match the associated regex or glob patterns.
Install with npm:
$ npm install easy-renamer --save
See examples. To run the examples, git clone the project then run the following from the root of the project:
$ npm i && node example
var Renamer = require('easy-renamer');
var renamer = new Renamer({destBase: 'foo/bar'});
renamer.matcher('*.md', function(file) {
return path.join(file.dirname, file.filename + '.html');
});
renamer.rename('a/b/c.md');
//=> 'a/b/c.html'
Example with multiple patterns
var Renamer = require('easy-renamer');
var renamer = new Renamer();
function extname(ext) {
return function(file) {
return path.join(file.dirname, file.filename + ext);
};
}
// use glob patterns...
renamer.matcher('**/*.md', extname('.html'));
// or regex
renamer.matcher(/foo\/.*\.less$/, extname('.css'));
glob('**/*', function(err, files) {
files.forEach(function(fp) {
fp = renamer.rename(fp);
//=> do something with fp...
});
});
v0.3.0
.match() method to .matcher() (this is the last time, I promise!)file.name property was renamed to file.filenamev0.2.0
.pattern() method to .match()You might also be interested in these projects:
rename function for the keys,… more | homepagepath.parse, parses a filepath into an object. | homepagePull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Generate readme and API documentation with verb:
$ npm install verb && npm run docs
Or, if verb is installed globally:
$ verb
Install dev dependencies:
$ npm install -d && npm test
Jon Schlinkert
Copyright © 2016, Jon Schlinkert. Released under the MIT license.
This file was generated by verb, v, on April 02, 2016.