Add options to specify block/element/modifier selector templates #2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I needed this for a project with non-BEM classes and thought it would be handy to use the Bike plugin with options to specify the template of the selectors for block/element/modifiers, using template strings/string literals.
Not sure of any security implications of using lodash.template which I think runs eval() on the template?
The templates can be specified in the options as:
{ blockFormat: '.${block}', elementFormat: '.${block}__${elem}', modifierFormat: '${base}_${key}_${value}', modifierFormatTrue: '${base}_${key}' }Since this project is BEM-focused then this functionality might not really be needed or suitable but thought I'd leave this here for any interested people.