Simple, self expressive template engine for scaffolding files based on casex
casex-template is a simple template engine that applies the casex pattern to all occurrences in a template.
Often creating templates feels tedious and time consuming, I wanted to create an engine that lets someone pretty much copy an example file, replace a few words and you should be good to go.
npm install --save casex-template
import {casexTemplate} from 'casex-template';
const text = "const __na_me__ = () => '#TODO: Implement Na Me'";
casexTemplate({text, name: 'cool component'})
As the name suggests project uses casex, an open source library designed to be
an All in one function for transforming word casings
.
While casex
is design to apply a pattern for a specific string, casex-template focuses on getting a template,
finding
all occurrences of __name__
and replacing them with the corresponding value.
Here are a few examples of how it works, considering you're using the name John Doe
:
__name__
: johndoe__naMe__
: johnDoe__NaMe__
: JohnDoe__na-me__
: john-doe__na me__
: john doe
casex-template provides pluralization and singularization out of the box with pluralize.
To use this feature, instead of __name__
, use _name_
, with one underscore. Here are a few examples of how it works:
- Regulars:
user
_name_
: user_name_s
: users
- Irregulars:
person
_name_
: person_name_s
: people
- Composed names:
user name
_na me_
: user name_na me_s
: user names
- Names in the plural:
users
_na me_
: user_na me_s
: users
casex-template is open-sourced software licensed under the MIT License.