greeklish-file-replace
v1.0.0
Published
Search files for Greek characters and replace them with their greeklish equivalents.
Downloads
16
Maintainers
Readme
greeklish-file-replace
Search files for Greek characters and replace them with their greeklish equivalents.
Installation
npm install [-g] [-S] greeklish-file-replace
Usage
Parameters
Files
The files parameter can accept an array of strings or a single comma-separated string that contains file paths or globs for the files you would like to do the replacements in.
Example:
// A single file path
files = 'path/to/a/file.txt'
// A single glob
files = 'path/to/files/**/*.txt'
// A comma-separated string with both a file path and a glob
files = 'files/replace.txt,files/**/*.js'
// An array of file paths and globs
files = [
'replace/files/*.txt',
'file/to/replace.js',
'more/**/files/*.*'
]
Options
The following options are all optional:
options = {
// Character encoding for reading/writing files (defaults to utf-8)
encoding: 'utf-8',
// Files to replace (only used if `files` parameter is left blank)
files: 'replace/**/files/*.txt',
// Characters to ignore during the replacement process (defaults to blank)
ignoreChars: ';',
// Files to ignore (works the exact same as `files` parameter)
ignoreFiles: '**/node_modules/**/*',
// The directory to save the changed files to (original files will be overwritten if left blank) (defaults to blank)
output: 'output_directory',
// Text to add to the beginning of all replacements (defaults to blank)
prefix: '_[',
// Text to add to the end of all replacements (defaults to blank)
suffix: ']_',
// Set to true to silent all console output (only used in command line) (defaults to false)
silent: true,
// Set to true to find out what files are going to be changed without actually changing them (defaults to false)
test: true,
// Set to true to add an index number to the end of all repeated replacements or provide a string to use letters instead of numbers (defaults to false)
unique: 'abcd'
}
Node
Async Promises
const greeklishReplace = require('greeklish-file-replace')
greeklishReplace(files, options)
.then(results => console.log(results))
.catch(error => console.log(error))
Async Callbacks
const greeklishReplace = require('greeklish-file-replace')
greeklishReplace(files, options, (error, results) => {
if (!error) {
console.log(results)
} else {
console.log(error)
}
})
Sync Function
const greeklishReplace = require('greeklish-file-replace')
var results = greeklishReplace.sync(files, options, cb)
console.log(results)
Sync Callback
The synchronous function accepts a function as an optional third parameter. This function will be called after every replacement with the file name and number of replacements made passed as parameters.
Example:
var results = greeklishReplace.sync(files, options, (file, changes) => {
if (changes && !options.silent) {
console.log('Made ' + changes + ' in ' + file)
}
})
Command Line
greeklish-file-replace files/to/replace/*.txt
[--files=files/to/replace/**/*.txt]
[--ignoreChars=";"]
[--ignoreFiles=files/to/ignore/**/*]
[--output=output_directory]
[--prefix="_["]
[--suffix="]_"]
[--silent]
[--test]
[--unique="abcd"]
Note: When using the files
parameter in the command line, your system will take care of expanding your single star globs for us, however it probably won't expand double stars. To get around this, you can use the files
option instead (eg. greeklish-files-replace --files=replace/**/*.*
).
License
MIT. See the License file for more info.