grunt-simple-text
v1.3.3
Published
Replace text with a key value from a json file
Downloads
8
Readme
grunt-simple-text
Replace text with a key value from a json file
Getting Started
This plugin requires Grunt ~0.4.5
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-simple-text --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-simple-text');
The "simple_text" task
Overview
In your project's Gruntfile, add a section named simple_text
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
simple_text: {
options: {
json: ['path/to/file.json', 'path/to/another.json'],
key: 'default',
defaultKey: 'default',
openBracket : '{',
closeBracket : '}'
},
your_target: {
files : {
"path/save/file.html" : "path/process/file.html"
}
},
},
});
Options
options.json
Type: String|Array
Default value: ''
Path to a single json file or construct array of multiple json files containing the strings that can be added to your files.
options.key
Type: String
Default value: 'default'
Key in json has multiple text sources for the same text identifiers. This can come in handy if using different text for different release platforms.
options.defaultKey
Type: String
Default value: ''
To save creating multiple keys where the value is the same for multiple environments, specify a default key and the key
value will override where necessary.
options.openBracket
Type: String
Default value: '{'
Open bracket symbol to identify the key name to get the string value.
options.closeBracket
Type: String
Default value: '}'
Close bracket symbol to identify the key name to get the string value.
Usage Examples
Custom Options
This example will take the file.html and check for any strings between {}, these will be used as keys to get any values from the parent key 'Default' in the file.json.
grunt.initConfig({
simple_text: {
main : {
options: {
json: 'path/to/file.json',
key: 'release',
defaultKey: 'default',
openBracket : '{',
closeBracket : '}'
},
files: {
'dest/output.html': ['src/orig/file.html'],
}
}
}
});
If file.html has the contents
<div class="textItem">
<p>{LongText}</p>
</div>
and file.json has the contents
{
"default" : {
"LongText" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
},
"release" : {
"LongText" : "Actual long text for release."
}
}
then output.html will save with
<div class="textItem">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
If the key option had been set to release, the output.html file would have this as it's contents
<div class="textItem">
<p>Actual long text for release.</p>
</div>
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.