eleventy-plugin-typecheck-filters
v0.0.2
Published
Template filters to check if a value is a list, object, string or number.
Downloads
19
Maintainers
Readme
eleventy-plugin-typecheck-filters
An eleventy plugin for type checks inside templates. At least for nunjucks as this engine does not come with type check filters.
Little Example:
{% if content|isArray %}
{% for item in content %}{% render item.handle, item.config %}{% endfor %}
{% else if content|isString %}
{{ content }}
{% else if content|isNumber %}
{{ content|localizeNumber }}
{% endif %}
Installation
- Tested with eleventy 2.0.0 but should work with 1.0, too.
npm install --save-dev eleventy-plugin-component-tag
Then open your Eleventy config file (probably .eleventy.js
) and use
addPlugin
:
const pluginTypeCheckFilters = require("eleventy-plugin-typecheck-tag");
module.exports = function(eleventyConfig) {
eleventyConfig.addPlugin(pluginTypeCheckFilters);
};
You’re only allowed one module.exports
in your configuration file, so make sure
you only copy the require and the addPlugin
lines above!
Options
const pluginComponentTag = require("eleventy-plugin-typecheck-filters");
module.exports = function(eleventyConfig) {
eleventyConfig.addPlugin(pluginComponentTag, {
// You can map the names of the filter functions to your liking.
// The key in this dict is your filter name, the value is the function name.
// If you don't map a function name, it won't be available in the views.
nameMapping: {
// <filterName>: <functionName>
isString: "isString",
isArray: "isArray",
isList: "isArray",
isNumber: "isNumber",
isObject: "isObject"
}
});
};
Filters
data|isString .
Returnstrue
if the data is a string,false
otherwise.data|isNumber .
Returnstrue
if the data is a number,false
otherwise.data|isArray .
data|isList .
Returnstrue
if the data is an array,false
otherwise.data|isObject .
Returnstrue
if the data is an object,false
otherwise.