{"_id":"bemer","_rev":"57-b55fdd4f541723b55fec890ed7ffa323","name":"bemer","description":"Template engine. BEMJSON to HTML processor.","dist-tags":{"latest":"0.8.7"},"versions":{"0.1.0":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.1.0","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"~3.3.0","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.1.0","dist":{"shasum":"3fe8f30f331754d91369467bfcb89fe642bcb35c","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.1.0.tgz","integrity":"sha512-VRNo9CbIlUO4wI/wlWcgRZdbYEjoCcXkSHHapS9WfKzJ9ShVigU3qz9Dx+oB3A3uxL5PVH4EdG7LrP8kTQea6w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF0M9N0c/izOZEOrENgNaudBgLez5ARKKhBvvaM+J7MMAiEA8iOL6sgXUJ//eYtBgz2j22qkWosjugp/fr6OZKjfmRQ="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.1.1":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.1.1","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"~3.3.0","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.1.1","dist":{"shasum":"26627e6a873cc03cbe1718c7653cec77d84987ac","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.1.1.tgz","integrity":"sha512-yCDYxBInth2eFNsbIaHu5D6WcQ1oe5iS7/JxhO8CZn4iOEtq1Z5JBjTRKM4pSt372y8NfaVHmRPy0TNCSuhdlg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAVT7b2cpSoB479OyglLRsDo6RFbfRDiJX81DvDd5cmQAiEAq4EXKq7F72CKrBHztFmLXXDZLQSbLphoOo8CDL3J2G8="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.1.2":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.1.2","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"~3.3.0","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.1.2","dist":{"shasum":"3d40e3cc39e07ded586fa16a91baab34a3099f5f","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.1.2.tgz","integrity":"sha512-qZBERLeayf7MMvHI0Tvm6cJwtNIque1VqxHaL/4btXNf/4ZlKnYhJaOsi1KkaRAmIFS0l5UiJbYvwtWmTkOb4g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA72A0ulfZMvdi4Ynr314yWsmIQG8Hagt8zft8K92LUNAiEAgC73Y+EqD7cvk0TR6NZQniGMjpIoSZnn4zv0jYJmFUE="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.1.3":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.1.3","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"~3.3.0","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.1.3","dist":{"shasum":"6d3ded5a80764ff568fb1b46461fa54c3bd994b2","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.1.3.tgz","integrity":"sha512-EMxoKIRrpihCqIbgt//P6a6BsplzkmT2a31lE7cIyS60+0SkcXpIqAHy19tz3z52iJPMqCEkEA5W+BYjeaoJ2Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDq6uSRIoRlpOqKlz0wGE7NGc243VkNp5K3pii0qsprdAiBtTFFMkcY6jYJvRp7fjGXJUS4eFgEGyw2KpXMf59mOhg=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.2.0":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.2.0","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"~3.3.0","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.2.0","dist":{"shasum":"93ff950f99ddc5c8a29edeeaeb01e454d1415b4c","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.2.0.tgz","integrity":"sha512-mvJKZec+GL7t9F6o7p+GUnF0G2Q4wyBRUQpumzOdiGTjMT63vzVTDvJB2u7IKr6NFTKoxMEEgHhGi95ER23tbQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDO1y7eKnJpsZBC+3UVH27dwzzlwMiGnsdLWVaHGt77zQIgC6lx0Ho369cOBeFn+Ye+xRSTD34pAs+RRcx+1P8RBhM="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.2.1":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.2.1","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"~3.3.0","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.2.1","dist":{"shasum":"4c8d524a98c2063d9aa743c9992a85b84a28b549","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.2.1.tgz","integrity":"sha512-5av7DTIaejYRh1ouaLL15rZoWY4qFTpAnte7+5JeprtzoF4F1uEDZRoGxTTz6PwnJj0JTOGIBaG4GD+8SsBxoA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYnsdxi+AUOmZX8GRe1uS89ma/UXq9Ia/ql8cspdPpAQIhAPVDqO9bufu6g6nnOoRM1wLZlxMddKdzm30jaYMtFjGk"}]},"_from":".","_npmVersion":"1.3.25","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.2.2":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.2.2","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"~3.3.0","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.2.2","dist":{"shasum":"2267c2590cf0a06e0b1b4144a466f1297b5ee52e","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.2.2.tgz","integrity":"sha512-pUNHfijKzCD6yjz0WvAfOL0Uhc6GGbulkBxwYCj7nvgnzbo2u3QtLZTMRslK7y789LfZN8rFBBLuAeBO3WqYzA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGLMHffUDq6DvqlGM1vb2ZFKrxEipWvkCzmH8KIh64WgIgZk4QqDS6CUFSRSBSJ9F3065uNL8FJEkSd298Ug8cKr0="}]},"_from":".","_npmVersion":"1.3.25","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.3.0":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.3.0","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"~3.2.2","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.3.0","dist":{"shasum":"d34f98a6ef3b32c82f53815c7fe6ef6b91ec2bbf","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.3.0.tgz","integrity":"sha512-Ky18yqSlbTKBfGuCDufAwTRaxS/HNuzjYMUWce6JLZcKtlsf7cszBPWH+It//wWEvjUcFv0LEpTj77E4SsOCaA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEeoKBAyfrcZMO9bJxAhuAOFg4YOt+xkW3Wq9/aeTgPnAiBwOq7tBqju1CwKvM3385JqJ91QU72tThFXn+qr8uWdaA=="}]},"_from":".","_npmVersion":"1.3.25","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.3.1":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.3.1","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.3.1","dist":{"shasum":"ea6d18329aec1f3c8c236eee891d44a76961aeaf","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.3.1.tgz","integrity":"sha512-HnrNP/lg2WEXuW6ebAGqOdhDLtv3k17xtUTyzOM0OXeFrx+qVikyo00Ktu/Po5+1N2TfMeXdL5JdjLgY0X8r4Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9qgMgz9aZ7yq35MmLaJe9hS9RjzOqrKyhXrj6DGRmDAIgXrRIcPgvl74S5+P/NWr9ewZaUIpHDqvxxScV3BehhkA="}]},"_from":".","_npmVersion":"1.3.25","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.4.0":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.4.0","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.4.0","dist":{"shasum":"53319297716d87a98e20339c33e2e4afccffa036","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.4.0.tgz","integrity":"sha512-Y7yCgM7OWTXMGvXbjoDg6pkngwyrNVCjSYyJ/Cq7+uxOH1XPmcM025gGIWIUA98Wq9R2VxahGPF0eULmEcvzsQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2FG5ai38xm+9z1uxehKHWYgi9jwoRUtLmfDaWFdneuwIhAN19SuHL5TIQi2xSXSx7SPy316P33GKw9sJAZcPQAodJ"}]},"_from":".","_npmVersion":"1.3.25","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.4.1":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.4.1","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"gitHead":"c96d017227183e1b22cf16e5f1cfd23ee1369559","bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.4.1","scripts":{},"_shasum":"77d55dab3f11c4438db0653c76ae4751fe5bfb73","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}],"dist":{"shasum":"77d55dab3f11c4438db0653c76ae4751fe5bfb73","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.4.1.tgz","integrity":"sha512-RiiC1B+XLRE9Fo1Tvx3Lcq6LptGD+nyzonZDodx16f/Y9O8AwYeEMTSgVMNFOFZbt8w4ONfbSyJO2Yay2uKzSA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuBrN6VaMIZe9nmpGqMK3bKz7bawaw6pBbrFddu1paoQIgFSckorA4WBifC1DpvId/F1jBqb9oCbvrq7qaMhhwvOs="}]}},"0.4.2":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.4.2","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.4.2","dist":{"shasum":"d39f815a7c4701c18b931801e97866b0d45e580d","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.4.2.tgz","integrity":"sha512-anjA/+upXs3YoPYNw11hWTsOkDsiVd9Qk51vSYMgl1oOvzxq8/8bsnvHwNPm+ZhYIIV2L1WONZWwKLWP/i2uzg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGxOHcNYYWJQefQAJvuqv3vGX4h3kehfH0z8e9hgWFKYAiAINuIvq7RuPRjBeVL3DJURTTWsyTDOxAsZiEESXRMKUQ=="}]},"_from":".","_npmVersion":"1.3.25","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.4.3":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.4.3","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.4.3","dist":{"shasum":"6ed14d4ae486bef26e6408562a15004212393938","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.4.3.tgz","integrity":"sha512-syWLLF7zTMjlhcZVq/pugjuIT+zUdhuNaYjoPrxuv4u80UbjIjBMkP/9Ea4QEUwhs53f3MrSvUgwky7sJX2wjA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF+YWOEZn+/6uHiiIMWEv3JJmZFVNCN4L8IwXSYQYTF1AiAY9PR3fi4ftShm5qEC8cThOB8E6G5UpKS5VLn+5X9lWQ=="}]},"_from":".","_npmVersion":"1.3.25","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.4.4":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.4.4","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.4.4","dist":{"shasum":"a5885d184375f66129004e2a1e572261efc4d214","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.4.4.tgz","integrity":"sha512-zIg7dotGZPMFRBla6t1QrBRUF/pMbm1ejkxiASUpwN9Z3gCPSe9FtESYDZjaSfp29zH6ZAm3fC23ZMvNoO1KCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDju7TMo5LlXSbowQfJ/0wtiZ/si8eNp/TnfMy5sVFNRAiEAmO/rkjs6sd4BdD054Nf2RRNUFfamo3FCrmx53JX0l8g="}]},"_from":".","_npmVersion":"1.3.25","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.4.5":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.4.5","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.4.5","dist":{"shasum":"915d9ef3c6eda6eb6ede8e47428ad27f4dde4905","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.4.5.tgz","integrity":"sha512-VDvGnviJLyP3t3IUPrWE2BYlI53riALwwU1ylaYT+a2lcZI2pTa57qkurCuqK58ZG5+BNH+xYqkFQjl/+hUclA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFMlUaOngDqC8Bn4Wh7OBtMOgz9VITF2YKWPZvUr0r/9AiEA5dKLdbdFHSHo3SayqF27foGH9Zqy6Ffvn+OEMz7/JvM="}]},"_from":".","_npmVersion":"1.3.25","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.5.0":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.5.0","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0","molotok":"~0.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.5.0","dist":{"shasum":"b098fd508f9211bceec959163636ac2991301958","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.5.0.tgz","integrity":"sha512-pHzaBQXOuFm8aPmXaa5r40zkA7SOXI/z3kk+G7fQm788LGCI2maIPDKccrZ3E47NDAzWCpEIefIsx01SPu0QtA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAHk66ai2tIjHi+mubR8eimfUaYKG6b7AQO37X4tUrSVAiApP1y+s4NTwgFD73HIYB+Fm8ou0Kf37x/enYKT7ttnYA=="}]},"_from":".","_npmVersion":"1.3.25","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.5.1":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.5.1","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0","molotok":"~0.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"gitHead":"fd6e179ee324c51fd95eff6d8c98ee3940a5e8a2","bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.5.1","scripts":{},"_shasum":"b56194a4627defaf2cb4bc0e224e61bb84efff79","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}],"dist":{"shasum":"b56194a4627defaf2cb4bc0e224e61bb84efff79","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.5.1.tgz","integrity":"sha512-LUfxlKWVAlDG2xulJ4NPZ3rSUu+91svyjWHxgfcxldyXhcAbBTKGVZKhixQpoZevyVHhgkdhnGfAYAcpia7BTA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDHAVw5+1IIFVQKz4NMwGYwkZgOEotMkJl9mcr90p7cfAiBkhwN1dAvQNPlpEllBNLt/zJkOahnf5g1kaC2GxgaEzw=="}]}},"0.6.0":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.6.0","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0","molotok":"~0.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"gitHead":"d0bce9eaa2d4b59ec961526895ebc502141c37d3","bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.6.0","scripts":{},"_shasum":"93481cb344af500f4354d033e095335581d69bd2","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}],"dist":{"shasum":"93481cb344af500f4354d033e095335581d69bd2","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.6.0.tgz","integrity":"sha512-p0mpgClT1KhOtBoTWL5kSfrUT84jY/Xrcorevhc/ep+78ZQWauTd6+IvkdgdRiM0cQtPlG/W0Y/bx1NoaO0OcA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIADyIIlDYKjCffw8PSJBnvAd4QNaj4aOoYBUx2kBV/2/AiEAq7vDTlJHMWGj7P6q0CwoVP+OGRlaLOm9tv8Y2CBjIBI="}]}},"0.6.1":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.6.1","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0","molotok":"~0.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0"},"gitHead":"a724b4613729d4521697cb9fd0b2598f04283869","bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.6.1","scripts":{},"_shasum":"f397cbfc18cde32e0f5435fe26bad91c84b457d1","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}],"dist":{"shasum":"f397cbfc18cde32e0f5435fe26bad91c84b457d1","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.6.1.tgz","integrity":"sha512-C499xE90uylhNZSaOeLQE8X94a4L/BjcBSwI2wgZN2Ptz8n59ugKlTsVyJYPTxP7Wokcq8sTT6cXjAcooz9S3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCXqz69YWx+0YpMqLALUQY4scOS/eAUK0ejL+qYtQN/QIhAO1S9VY2VIbFPPQH355UpvU5oLguHxN4SJEstMDQ3QCT"}]}},"0.6.2":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.6.2","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0","molotok":"~0.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0","benchmark":"~1.0.0","beautify-benchmark":"~0.2.4"},"gitHead":"98d3979f5042cbcf9b4293a291f91f6fbf3555c1","bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.6.2","scripts":{},"_shasum":"fe1341fc3558c1f64e18954014cbdd62b3f4621d","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}],"dist":{"shasum":"fe1341fc3558c1f64e18954014cbdd62b3f4621d","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.6.2.tgz","integrity":"sha512-czGkq+6XWbcqcJvWdL/e5mykbPWg1lPro0Jp+lA5x3xhd6MsZGezyoRUNeshH4OcKZFx+7WeLpr24veEfD/dsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF1JRk5heHMcyExoXuLp669GbymE6sFqEliTQVrVZYJ8AiEApET7Lu5fm/5uBkfVi/guF1FtoSXajoJMVj+CKAVOubc="}]}},"0.6.3":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.6.3","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0","molotok":"~0.1.0"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.0","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0","benchmark":"~1.0.0","beautify-benchmark":"~0.2.4"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.6.3","dist":{"shasum":"8c26b1c9ec3a22d332286095e393c4366c88fa8a","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.6.3.tgz","integrity":"sha512-lqODCKo5VpFhTw5G6kpPwkW0iahPUcrD35REN3D7O0rzfXJjzW2MMqjr3kT+6Q71O5Lofp9EMEJvl1glIrsqWQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3Ym0eThQyhvSjziddXIEvCg/K9wKqLntf/EVgBjFGSAIhAMxNNzS/GNu5S7HyLHQn3bxvFv8Q8s993YOA3BiAM6tf"}]},"_from":".","_npmVersion":"1.3.25","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.7.0":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.7.0","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0","molotok":"~0.1.2"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","jshint":"~2.5.6","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.2","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0","grunt-mocha-istanbul":"~2.1.0","benchmark":"~1.0.0","beautify-benchmark":"~0.2.4","grunt-coveralls":"~1.0.0"},"gitHead":"03f09ccbdf23074a46684f49ef22a1445510a4af","bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.7.0","scripts":{},"_shasum":"20914206c30a58ac9e3011739a3dce259d39284c","_from":".","_npmVersion":"2.1.2","_nodeVersion":"0.10.32","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}],"dist":{"shasum":"20914206c30a58ac9e3011739a3dce259d39284c","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.7.0.tgz","integrity":"sha512-7JIcljl2/8oy7TwGVheuC4+MIf/AzYydle/bJEJpugp/lcjdT2u98bdkcgUN/TTWjFtIankdHciBtgduep/TAg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzXQQcvl1hmY+zZ/QzlkKXVdpLE8KfXG9Lf1bzj5n6SgIhAOouODPEQjwOv/ROGCuAzJAKUQjXJk1Lpqhde1nRaid4"}]}},"0.7.1":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.7.1","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0","molotok":"~0.1.2"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","jshint":"~2.5.6","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.2","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0","grunt-mocha-istanbul":"~2.1.0","benchmark":"~1.0.0","beautify-benchmark":"~0.2.4","grunt-coveralls":"~1.0.0"},"gitHead":"bafeb91b130d39173f85edba83765b5ebc7b88c3","bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.7.1","scripts":{},"_shasum":"eeb85b2ca2651625d6ba057b7ad26323443240af","_from":".","_npmVersion":"2.1.2","_nodeVersion":"0.10.32","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}],"dist":{"shasum":"eeb85b2ca2651625d6ba057b7ad26323443240af","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.7.1.tgz","integrity":"sha512-tKSFVDDY0gXFLmIE8JKqVE7O9nGplC7rKKcDnz8fz9KyUDw0Cdr+mpGGJAXjNs5rJltYX1bvUf0fDXC/MToTrg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRCvahjFsGtlchf2zX1p8gy1e05U6yowbhNPemsvTGMQIgeFCfdOw6Is07HnsXs95REbZXTAGrxFPPn1v1AsDYvwI="}]}},"0.8.0":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.8.0","repository":{"type":"git","url":"https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0","molotok":"~0.1.2"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","jshint":"~2.5.6","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.2","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0","grunt-mocha-istanbul":"~2.1.0","benchmark":"~1.0.0","beautify-benchmark":"~0.2.4","grunt-coveralls":"~1.0.0"},"gitHead":"a4c360230d99e4737835e03fd2258ec619b68614","bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer","_id":"bemer@0.8.0","scripts":{},"_shasum":"763878c5d3e13b30eedc2344ac1ea23600bc71c6","_from":".","_npmVersion":"2.1.2","_nodeVersion":"0.10.32","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}],"dist":{"shasum":"763878c5d3e13b30eedc2344ac1ea23600bc71c6","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.8.0.tgz","integrity":"sha512-bZXOD6eYjXdcA83J+wetBonKMry4ktiYMDBKEBLyFu9Bz9fhhqq1FienK9XwCmzwph5S2Jm36F29T8ITWmEJpQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHZUv3h+w+Y/d6qlt8D0fZ0W/6FFfC+Q4VFjFhOdA5n7AiBiK2o7HB8LNOVVGtpHE/NhC/x0retHlPal8f0qZgUKTg=="}]}},"0.8.1":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.8.1","repository":{"type":"git","url":"git+https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0","molotok":"~0.1.2"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","jshint":"~2.5.6","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.2","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0","grunt-mocha-istanbul":"~2.1.0","benchmark":"~1.0.0","beautify-benchmark":"~0.2.4","grunt-coveralls":"~1.0.0","yaspeller":"~2.1.0"},"gitHead":"cd070851bd8548ac99ff7202ffbc60ec39b3852c","bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer#readme","_id":"bemer@0.8.1","scripts":{},"_shasum":"793431af5d720ea411053ca18bdaf7cf64a45df4","_from":".","_npmVersion":"2.8.4","_nodeVersion":"1.2.0","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"dist":{"shasum":"793431af5d720ea411053ca18bdaf7cf64a45df4","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.8.1.tgz","integrity":"sha512-IXzOf8/w1k6FQwGj7SUbLJ7OfVnQL257W4vQMh7y293jojIcO+1Zk14BCo1U38lduCdig2u9CukPabhpMYeYQg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH9z//eOv8VUIK1770cBgwTL/zw0CL9zBhxhWw6bkqL8AiEAlo/StdQTQf23ukDjlCi1VbNJPEhvWbgCL4WZfHcB7W0="}]},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.8.2":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.8.2","repository":{"type":"git","url":"git+https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0","molotok":"~0.1.2"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","jshint":"~2.5.6","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.2","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0","grunt-mocha-istanbul":"~2.1.0","benchmark":"~1.0.0","beautify-benchmark":"~0.2.4","grunt-coveralls":"~1.0.0","yaspeller":"~2.1.0"},"gitHead":"e3096cf4d2f9bc8704d6cd92a136d12cc726d58a","bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer#readme","_id":"bemer@0.8.2","scripts":{},"_shasum":"dd5fd0d4ec3a72d2f2f7474b148027c331e548a4","_from":".","_npmVersion":"2.8.4","_nodeVersion":"1.2.0","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"dist":{"shasum":"dd5fd0d4ec3a72d2f2f7474b148027c331e548a4","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.8.2.tgz","integrity":"sha512-wzCB70e50ZJLkSBWAXfv6TEhAaV7hb28QmSLqsXk3U5XWk1RjarD/vAF8nIgdjj+fFYU2ZRyI35lxyUlRzzazg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICXgRRpNJk0Y9VOGq8rf4mAWD2xMr3IIuOcKZH/6QucWAiB/Blefsc5ZKZ1uKkl9DubumYzvKnOWkQp8Vdh39bcB3A=="}]},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.8.3":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.8.3","repository":{"type":"git","url":"git+https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0","molotok":"~0.1.2"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","jshint":"~2.5.6","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.2","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0","grunt-mocha-istanbul":"~2.1.0","benchmark":"~1.0.0","beautify-benchmark":"~0.2.4","grunt-coveralls":"~1.0.0","yaspeller":"~2.1.0"},"gitHead":"bad30f3e30327e48dcb09ae070230fa285bbcb8c","bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer#readme","_id":"bemer@0.8.3","scripts":{},"_shasum":"8e8fd74d79cb70bf4b7ee731d5ebba951ddc7611","_from":".","_npmVersion":"2.8.4","_nodeVersion":"1.2.0","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"dist":{"shasum":"8e8fd74d79cb70bf4b7ee731d5ebba951ddc7611","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.8.3.tgz","integrity":"sha512-qBrqDXjT6KE2VWNZqxfjgL8zTvhW9IoAjyu9lorZrbDtfx10HXiaXsvvOw2bSMHJcbrxPL2NBFOwYsd369xsZQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCScDBf5hfKaKuRu/ov2WcnFcPqdahLFa+1XgKMQOU0rAIhAPIHPwlyEq1s/BLZX3lojCQzBL+23KmAFY9Daeo+/LVL"}]},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.8.4":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.8.4","repository":{"type":"git","url":"git+https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0","molotok":"~0.1.2"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","jshint":"~2.5.6","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.2","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0","grunt-mocha-istanbul":"~2.1.0","benchmark":"~1.0.0","beautify-benchmark":"~0.2.4","grunt-coveralls":"~1.0.0","yaspeller":"~2.1.0"},"gitHead":"2d4972c726e66ce4ea3050da4fe7bf3e4569ba55","bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer#readme","_id":"bemer@0.8.4","scripts":{},"_shasum":"ea30c73c7b8c4b39254b37f4ccc17ad5aab2f858","_from":".","_npmVersion":"2.11.1","_nodeVersion":"2.3.0","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"dist":{"shasum":"ea30c73c7b8c4b39254b37f4ccc17ad5aab2f858","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.8.4.tgz","integrity":"sha512-vywQA1/xkUqevIGwOsb8viYKkO/7mRXL2+TLkruXGMuRU+SRlX5OeC6ze9LMlESRH/JDaDDRy95N567RmPy3bw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDB1QJ+fIXwqSx0C9xLm4QHqq0Q2y+JUrUB59ZW8UEmSQIhAMIILcZwYQwL/0L8/xG3Vi3qp5REoB/jMuuRaVo1xD+U"}]},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}]},"0.8.5":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.8.5","repository":{"type":"git","url":"git+https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0","molotok":"~0.1.2"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","jshint":"~2.5.6","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.2","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0","grunt-mocha-istanbul":"~2.1.0","benchmark":"~1.0.0","beautify-benchmark":"~0.2.4","grunt-coveralls":"~1.0.0","yaspeller":"~2.1.0"},"gitHead":"f28b0013f200ca11854f8cb2b1e99a0ec5ef0d5d","bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer#readme","_id":"bemer@0.8.5","scripts":{},"_shasum":"cc52ee0a64943cfe857e3344cfe46e14314e80b5","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.7.1","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"dist":{"shasum":"cc52ee0a64943cfe857e3344cfe46e14314e80b5","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.8.5.tgz","integrity":"sha512-77vAtzKwkzUFra3sFKbIoaoJwYEIXPQZl3HU9NDhwuOFxtoT4A+EB411vjoxz5O5BLEs1aqXDbGYNHJI8LjhHQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEQ6djjgBY+9+KLC1KWKgprjIHE2YqE77176MopZPRRFAiEAjl+m6r6JfbheZDnRX3IIVJKyZgpb7BLgR0SHXVpxNJE="}]},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bemer-0.8.5.tgz_1457279252219_0.5795744906645268"}},"0.8.6":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.8.6","repository":{"type":"git","url":"git+https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0","molotok":"~0.1.2"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","jshint":"~2.5.6","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.2","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0","grunt-mocha-istanbul":"~2.1.0","benchmark":"~1.0.0","beautify-benchmark":"~0.2.4","grunt-coveralls":"~1.0.0","yaspeller":"~2.1.0"},"gitHead":"5e64fe07b053550b305cb271f9e6c68d961503fe","bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer#readme","_id":"bemer@0.8.6","scripts":{},"_shasum":"2f29db7a3e5952ca209892758b76e24349773b62","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.7.1","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"dist":{"shasum":"2f29db7a3e5952ca209892758b76e24349773b62","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.8.6.tgz","integrity":"sha512-tLSbfA6VjEXHd36g1937u30y6fZTLkB6IYIAPL7Fsnc4/meuXmB5z/BGXbnrd6aexSmt+4L2W37kXK9QSlNCcw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDz7r0Q+quviHVMJyxYLKc+R68QCi8FW148dd0D65u0+AIgDzw+0mOEZqs3GwMDsatjVdXvRI7rgfPlKJoQf1cBRB8="}]},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bemer-0.8.6.tgz_1457466330441_0.6632995700929314"}},"0.8.7":{"name":"bemer","description":"Template engine. BEMJSON to HTML processor.","version":"0.8.7","repository":{"type":"git","url":"git+https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"license":"MIT","dependencies":{"inherit":"2.1.0","molotok":"~0.1.2"},"devDependencies":{"git-hooks":"~0.0.6","jsdoc":"v3.3.0-alpha8","chai":"~1.8.1","jscs":"~1.2.4","jshint":"~2.5.6","grunt-prompt":"~1.1.0","grunt":"~0.4.2","load-grunt-tasks":"~0.4.0","grunt-cli":"~0.1.13","grunt-definer":"~0.1.2","grunt-mocha-test":"~0.9.1","grunt-shell":"~0.7.0","grunt-contrib-clean":"~0.5.0","grunt-mkdir":"~0.1.1","grunt-contrib-uglify":"~0.4.0","grunt-mocha-istanbul":"~2.1.0","benchmark":"~1.0.0","beautify-benchmark":"~0.2.4","grunt-coveralls":"~1.0.0","yaspeller":"~2.1.0"},"gitHead":"04eef8cba166edb1ece469d8ea606386729181d7","bugs":{"url":"https://github.com/tenorok/bemer/issues"},"homepage":"https://github.com/tenorok/bemer#readme","_id":"bemer@0.8.7","scripts":{},"_shasum":"925f42e1237917431dd755c4e616ff571ef099bd","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.7.1","_npmUser":{"name":"tenorok","email":"mail@tenorok.ru"},"dist":{"shasum":"925f42e1237917431dd755c4e616ff571ef099bd","tarball":"https://registry.npmjs.org/bemer/-/bemer-0.8.7.tgz","integrity":"sha512-r9FDqPFfRky5cqdVONRcAbzaA4piRzH3rf2L584hwD6KMxG5RgdhgD15ub7MzQyeBXvMbXvhDwzt9ClRM8Kd/A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDS/IjaT/R6WEY1ZZdJZD/itpuzxGbyWj1twLHJFxnyEQIhANt9pmd9GUzyIt0XTIR/0j+bWZocIEw/XIgzeiEkEiDT"}]},"maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bemer-0.8.7.tgz_1457468151615_0.223515038844198"}}},"readme":"# Bemer — БЭМ-шаблонизатор\n[![bower](https://img.shields.io/bower/v/bemer.svg)](http://bower.io/search/?q=bemer)\n[![npm](https://img.shields.io/npm/v/bemer.svg)](https://www.npmjs.com/package/bemer)\n[![Build Status](https://img.shields.io/travis/tenorok/bemer/master.svg)](https://travis-ci.org/tenorok/bemer)\n[![Coverage Status](https://img.shields.io/coveralls/tenorok/bemer/master.svg)](https://coveralls.io/r/tenorok/bemer)\n\nБЭМ — это методология эффективной разработки веб-приложений.\nБольшое количество информации размещено на официальном сайте [http://ru.bem.info](http://ru.bem.info).\n\nBemer — шаблонизатор, стремящийся идти по пути упрощения работы с БЭМ. Он должен быть очень удобным для разработки малых и средних проектов.\n\nИсходный код шаблонизатора разделён на [подробно задокументированные модули](http://tenorok.github.io/bemer/jsdoc/module-bemer-bemer.html) с помощью [definer](https://github.com/tenorok/definer).\n\nРекомендуется использовать bemer совместно с [i-bem](http://tenorok.github.io/get-i-bem/).\n\n## Установка\n\nBemer доступен в [Bower](http://bower.io).\n\n    bower install bemer\n\nBemer доступен в [NPM](https://www.npmjs.org).\n\n    npm install bemer\n\n## Подключение\n\n### В браузере\n\n```html\n<script src=\"bower_components/bemer/bemer.min.js\"></script>\n```\n\n### В Node.js\n\n```js\nvar bemer = require('bemer');\n```\n\n## Форматы данных\n\n### Входящие данные\n\nОбщепринятым форматом входящих данных для БЭМ-шаблонизаторов является [BEMJSON](http://ru.bem.info/technology/bemjson/2.3.0/bemjson/#Синтаксис-BEMJSON).\n\n### Выходящие данные\n\nНа выходе bemer возвращает простую HTML-строку, готовую для отображения в браузере.\n\n## Получение результата\n\nЕдинственная переменная, предоставляемая шаблонизатором — `bemer` и она является функцией, которая принимает на вход один параметр — объект в формате [BEMJSON](http://ru.bem.info/technology/bemjson/2.3.0/bemjson/#Синтаксис-BEMJSON).\n\n### Один блок\n\n```js\nbemer({ block: 'page' });\n```\n\nРезультат:\n\n```html\n<div class=\"page\"></div>\n```\n\n### Блок с элементами\n\n```js\nbemer({\n    block: 'item',\n    content: [\n        { elem: 'title', content: 'Фотоаппарат' },\n        { elem: 'price', content: '14999' }\n    ]\n});\n```\n\nРезультат:\n\n```html\n<div class=\"item\">\n    <div class=\"item__title\">Фотоаппарат</div>\n    <div class=\"item__price\">14999</div>\n</div>\n```\n\n## Оглавление\n\n- [Методы](#Методы)\n  - [Метод `match`](#Метод-match)\n    - [Синтаксис селекторов](#Синтаксис-селекторов)\n      - [Примеры селекторов](#Примеры-селекторов)\n      - [Примеры селекторов со звёздочкой](#Примеры-селекторов-со-звёздочкой)\n    - [Синтаксис полей шаблона](#Синтаксис-полей-шаблона)\n      - [Стандартные поля шаблона](#Стандартные-поля-шаблона)\n        - [Поле `construct`](#Поле-construct)\n        - [Поле `tag`](#Поле-tag)\n        - [Поле `single`](#Поле-single)\n        - [Поле `attrs`](#Поле-attrs)\n        - [Поле `js`](#Поле-js)\n        - [Поле `bem`](#Поле-bem)\n        - [Поле `cls`](#Поле-cls)\n        - [Поле `mods`](#Поле-mods)\n        - [Поле `elemMods`](#Поле-elemmods)\n        - [Поле `mix`](#Поле-mix)\n        - [Поле `content`](#Поле-content)\n        - [Поле `options`](#Поле-options)\n      - [Функция в значении стандартного поля шаблона](#Функция-в-значении-стандартного-поля-шаблона)\n        - [Параметр функции стандартного поля шаблона](#Параметр-функции-стандартного-поля-шаблона)\n        - [Объект `this.bemjson`](#Объект-thisbemjson)\n      - [Приоритеты в стандартных полях шаблона](#Приоритеты-в-стандартных-полях-шаблона)\n        - [Примитивные типы](#Примитивные-типы)\n        - [Массивы и объекты](#Массивы-и-объекты)\n        - [Функции](#Функции)\n      - [Произвольные поля шаблона](#Произвольные-поля-шаблона)\n      - [Наследование шаблонов](#Наследование-шаблонов)\n        - [Получение предыдущего значения поля через `this.__base`](#Получение-предыдущего-значения-поля-через-this__base)\n  - [Метод `config`](#Метод-config)\n    - [Изменение настроек шаблонизации](#Изменение-настроек-шаблонизации)\n    - [Сброс настроек шаблонизации до стандартных](#Сброс-настроек-шаблонизации-до-стандартных)\n  - [Метод `clean`](#Метод-clean)\n  - [Метод `modules`](#Метод-modules)\n  - [Метод `helper`](#Метод-helper)\n    - [Добавление помощника](#Добавление-помощника)\n- [Функции-помощники](#Функции-помощники)\n  - [Помощники для работы с деревом](#Помощники-для-работы-с-деревом)\n    - [Помощник `isFirst`](#Помощник-isfirst)\n    - [Помощник `isLast`](#Помощник-islast)\n    - [Помощник `isBlock`](#Помощник-isblock)\n    - [Помощник `isElem`](#Помощник-iselem)\n    - [Помощник `id`](#Помощник-id)\n  - [Помощники для работы со строками](#Помощники-для-работы-со-строками)\n    - [Помощник `escape`](#Помощник-escape)\n    - [Помощник `unEscape`](#Помощник-unescape)\n    - [Помощник `htmlEscape`](#Помощник-htmlescape)\n    - [Помощник `unHtmlEscape`](#Помощник-unhtmlescape)\n    - [Помощник `collapse`](#Помощник-collapse)\n    - [Помощник `stripTags`](#Помощник-striptags)\n    - [Помощник `upper`](#Помощник-upper)\n    - [Помощник `lower`](#Помощник-lower)\n    - [Помощник `repeat`](#Помощник-repeat)\n  - [Помощники для работы с числами](#Помощники-для-работы-с-числами)\n    - [Помощник `random`](#Помощник-random)\n  - [Помощники для работы с объектами](#Помощники-для-работы-с-объектами)\n    - [Помощник `extend`](#Помощник-extend)\n    - [Помощник `deepExtend`](#Помощник-deepextend)\n    - [Помощник `clone`](#Помощник-clone)\n    - [Помощник `deepClone`](#Помощник-deepclone)\n  - [Помощники для работы с типами данных](#Помощники-для-работы-с-типами-данных)\n    - [Помощники для проверки на определённый тип данных](#Помощники-для-проверки-на-определённый-тип-данных)\n    - [Помощник `is.type`](#Помощник-istype)\n    - [Помощники для проверки чисел](#Помощники-для-проверки-чисел)\n    - [Помощник `is.primitive`](#Помощник-isprimitive)\n    - [Помощник `is.every`](#Помощник-isevery)\n\n## Методы\n\n### Метод `match`\n\nПредназначен для добавления шаблона на одну или несколько БЭМ-сущностей.\n\nВ качестве параметров принимает неограниченное количество селекторов на БЭМ-сущности и последним параметром простой объект с полями шаблона.\n\nВозвращает: `{bemer}`\n\n```js\nbemer.match('block1', 'block2', 'blockN', {});\n```\n\n#### Синтаксис селекторов\n\nПо умолчанию для отделения блока от элемента используется двойное подчёркивание: `block__element`.\nА для отделения модификаторов одиночное подчёркивание: `block_mod_val`.\n\n##### Примеры селекторов\n\nБлок `header`:\n\n    header\n\nЭлемент `logo` блока `header`:\n\n    header__logo\n\nБлок `header` с булевым модификатором `adaptive`:\n\n    header_adaptive\n\nБлок `header` с модификатором `theme` в значении `red`:\n\n    header_theme_red\n\nЭлемент `logo` блока `header` с модификатором `theme` в значении `blue`:\n\n    header_theme_blue__logo\n\nЭлемент `logo` с модификатором `size` в значении `s`:\n\n    header__logo_size_s\n\nМодификатор у блока и у элемента одновременно:\n\n    header_adaptive__logo_size_m\n\nНа месте любой части селектора можно записать `*`, что будет означать произвольное значение.\n\n##### Примеры селекторов со звёздочкой\n\nЛюбой блок:\n\n    *\n\nЛюбой элемент блока `footer`:\n\n    footer__*\n\nЛюбое значение модификатора `theme` блока `footer`:\n\n    footer_theme_*\n\nЛюбое значение модификатора `size` любого элемента блока `footer`:\n\n    footer__*_size_*\n\n#### Синтаксис полей шаблона\n\nПоля шаблона содержат информацию по шаблонизации.\nВ основе технической реализации лежит помощник создания классов [inherit](https://github.com/dfilatov/inherit).\nШаблон может иметь произвольный набор полей.\n\n##### Стандартные поля шаблона\n\n###### Поле `construct`\n\nТип: `{function}`\n\nПоле `construct` устанавливает конструктор, который вызывается в начале шаблонизации БЭМ-сущности.\n\nКонструктор принимает два параметра:\n* `{object}` `bemjson` — BEMJSON БЭМ-сущности\n* `{object}` `data` — данные о БЭМ-сущности в дереве\n    * `{number}` `data.index` — индекс сущности среди сестринских элементов\n    * `{number}` `data.length` — количество сестринских элементов, включая текущий\n    * `{object}` `[data.context]` — информация о контексте родительского блока\n        * `{string}` `[data.context.block]` — имя родительского блока\n        * `{object}` `[data.context.mods]` — модификаторы родительского блока\n        * `{string}` `[data.context.elem]` — имя родительского элемента\n        * `{object}` `[data.context.elemMods]` — модификаторы родительского элемента\n\nПолучение данных о блоке `menu` из параметров конструктора:\n\n```js\nbemer.match('menu', { construct: function(bemjson, data) {\n    console.log('bemjson:', bemjson);\n    console.log('data:', data);\n}});\nbemer({ block: 'menu' });\n```\n\nВывод:\n\n```js\nbemjson: { block: 'menu' }\ndata: { index: 0, length: 1 }\n```\n\nКроме того, в `this` существуют поля `bemjson` и `data`, аналогичные параметрам конструктора.\n\nПолучение данных об элементе `item` с булевым модификатором `active` из полей контекста:\n\n```js\nbemer.match('menu__item_active', { construct: function(bemjson, data) {\n    console.log('bemjson:', this.bemjson);\n    console.log('data:', this.data);\n}});\n\nbemer({ block: 'menu', content: [\n    { elem: 'item' },\n    { elem: 'item', elemMods: { active: true }},\n    { elem: 'item' }\n] });\n```\n\nВывод:\n```js\nbemjson: {\n    block: 'menu',\n    mods: {},\n    elem: 'item',\n    elemMods: { active: true }\n}\ndata: {\n    index: 1,\n    length: 3,\n    context: {\n        block: 'menu',\n        mods: {}\n    }\n}\n```\n\n###### Поле `tag`\n\nТип: `{string}` `{boolean}`\n\nПо умолчанию: `div`\n\nПоле `tag` устанавливает имя тега.\n\nБлок в представлении тега `span`:\n\n```js\nbemer.match('text', { tag: 'span' });\nbemer({ block: 'text' });\n```\n\n```html\n<span class=\"text\"></span>\n```\n\nДля указания стандартного тега `div` может быть использовано значение `true`.\n\nДля отмены строкового представления тега используется значение `false`.\nПри этом вместо текущего тега будет представлено его содержимое:\n\n```js\nbemer.match('anonymous', { tag: false });\nbemer({ block: 'anonymous', content: { block: 'inner' }});\n```\n\n```html\n<div class=\"inner\"></div>\n```\n\n###### Поле `single`\n\nТип: `{boolean}`\n\nПо умолчанию: `true` для [стандартных одиночных тегов](http://tenorok.github.io/bemer/jsdoc/module-Tag-Tag.html#singleTags)\nи `false` для всех остальных\n\nПоле `single` устанавливает одиночный или парный вид тега.\n\nБлок в представлении частного одиночного тега `mytag`:\n\n```js\nbemer.match('my', { tag: 'mytag', single: true });\nbemer({ block: 'my' });\n```\n\n```html\n<mytag class=\"my\">\n```\n\n###### Поле `attrs`\n\nТип: `{object}`\n\nПо умолчанию: `{}`\n\nПоле `attrs` задаёт атрибуты тега.\n\nБлок текстового поля:\n\n```js\nbemer.match('input', { tag: 'input', attrs: { type: 'text' }});\nbemer({ block: 'input' });\n```\n\n```html\n<input class=\"input\" type=\"text\">\n```\n\nАтрибуты в шаблоне и входящем BEMJSON складываются:\n\n```js\nbemer.match('input', { tag: 'input', attrs: { type: 'text' }});\nbemer({ block: 'input', attrs: { placeholder: 'login' }});\n```\n\n```html\n<input class=\"input\" type=\"text\" placeholder=\"login\">\n```\n\n**Особый атрибут `style`**\n\nПомимо обычной строки, атрибут `style` способен принять список CSS-стилей в виде объекта.\n\nСоставные имена CSS-свойств допускается указывать как через минус (`text-align`),\nтак и в верблюжьей нотации (`textAlign`).\nЕсли в значении свойства указано число (кроме нуля), ему добавляется единица измерения пикселя (`px`).\n\nСписок CSS-свойств в виде объекта:\n\n```js\nbemer.match('text', { attrs: { style: {\n    width: 100,\n    height: 0,\n    'text-align': 'center',\n    verticalAlign: 'top'\n}}});\nbemer({ block: 'text' });\n```\n\n```html\n<div class=\"text\" style=\"width:100px;height:0;text-align:center;vertical-align:top;\"></div>\n```\n\n###### Поле `js`\n\nТип: `{boolean}` `{object}`\n\nПо умолчанию: `false`\n\nПоле `js` указывает на наличие клиентского JavaScript у блока или элемента.\nПри этом в результирующий HTML-тег добавляется:\n* дополнительный CSS-класс, по умолчанию: `i-bem`\n* атрибут с параметрами инициализации, по умолчанию: `data-bem`\n\nБлок с JS-реализацией:\n\n```js\nbemer.match('menu', { js: true });\nbemer({ block: 'menu' });\n```\n\n```html\n<div class=\"menu i-bem\" data-bem=\"{&quot;menu&quot;:{}}\"></div>\n```\n\nЭлемент с JS-реализацией:\n\n```js\nbemer.match('menu__item', { js: true });\nbemer({ block: 'menu', elem: 'item' });\n```\n\n```html\n<div class=\"menu__item i-bem\" data-bem=\"{&quot;menu__item&quot;:{}}\"></div>\n```\n\nДля передачи инициализационных параметров значением может быть простой объект.\n\nБлок с параметрами инициализации:\n\n```js\nbemer.match('man', { js: { name: 'Steve', year: 1955 }});\nbemer({ block: 'man' });\n```\n\n```html\n<div class=\"man i-bem\" data-bem=\"{&quot;man&quot;:{&quot;name&quot;:&quot;Steve&quot;,&quot;year&quot;:1955}}\"></div>\n```\n\n###### Поле `bem`\n\nТип: `{boolean}`\n\nПо умолчанию: `true`\n\nПоле `bem` указывает на необходимость добавления сформированных CSS-классов для БЭМ-сущности.\n\nТег `html` без БЭМ-классов:\n\n```js\nbemer.match('page', { tag: 'html', bem: false });\nbemer({ block: 'page' });\n```\n\n```html\n<html></html>\n```\n\n###### Поле `cls`\n\nТип: `{string}`\n\nПо умолчанию: `''`\n\nПоле `cls` позволяет определить произвольную строку, добавляемую в значение атрибута `class` помимо автоматически генерируемых классов.\n\nДобавление CSS-классов `custom1` и `custom2`:\n\n```js\nbemer.match('untypical', { cls: 'custom1 custom2' });\nbemer({ block: 'untypical' });\n```\n\n```html\n<div class=\"custom1 custom2 untypical\"></div>\n```\n\n###### Поле `mods`\n\nТип: `{object}`\n\nПо умолчанию: `{}`\n\nПоле `mods` задаёт модификаторы блока.\n\nБлок `header` с модификатором `theme` в значении `red`:\n\n```js\nbemer.match('header', { mods: { theme: 'red' }});\nbemer({ block: 'header' });\n```\n\n```html\n<div class=\"header header_theme_red\"></div>\n```\n\nМодификаторы в шаблоне и входящем BEMJSON складываются:\n\n```js\nbemer.match('header', { mods: { theme: 'red' }});\nbemer({ block: 'header', mods: { adaptive: true }});\n```\n\n```html\n<div class=\"header header_theme_red header_adaptive\"></div>\n```\n\nЭлемент `logo` блока `header` с модификатором `theme` в значении `blue`:\n\n```js\nbemer.match('header__logo', { mods: { theme: 'blue' }});\nbemer({ block: 'header', elem: 'logo' });\n```\n\n```html\n<div class=\"header__logo header_theme_blue__logo\"></div>\n```\n\n**Особые значения модификаторов**\n\nПомимо строк значением модификатора может быть `null`, `true` или число.\nЗначения `undefined` и `false` отменяют установку модификатора.\n\nПример различных типов значений модификаторов:\n```js\nbemer.match('example', { mods: {\n    string: 'text',\n    nil: null,\n    yes: true,\n    zero: 0,\n    number: 5,\n    undef: undefined,\n    no: false\n}});\nbemer({ block: 'example' });\n```\n\n```html\n<div class=\"example example_string_text example_nil_null example_yes example_zero_0 example_number_5\"></div>\n```\n\n**Изменение списка модификаторов в шаблоне**\n\nПри изменении списка модификаторов автоматически накладываются подходящие шаблоны:\n```js\nbemer\n  .match('button', { mods: { theme: 'normal' }})\n  .match('button_theme_normal', { tag: 'span' });\nbemer({ block: 'button' });\n```\n\n```html\n<span class=\"button button_theme_normal\"></span>\n```\n\n###### Поле `elemMods`\n\nТип: `{object}`\n\nПо умолчанию: `{}`\n\nПоле `elemMods` задаёт модификаторы элемента.\nМодификаторы в шаблоне и входящем BEMJSON складываются.\n\nЭлемент `logo` с модификатором `size` в значении `s`:\n\n```js\nbemer.match('header__logo', { elemMods: { size: 's' }});\nbemer({ block: 'header', elem: 'logo' });\n```\n\n```html\n<div class=\"header__logo header__logo_size_s\"></div>\n```\n\nПри изменении списка модификаторов автоматически накладываются подходящие шаблоны:\n```js\nbemer\n  .match('button__label', { elemMods: { size: 'm' }})\n  .match('button__label_size_m', { tag: 'label' });\nbemer({ block: 'button', elem: 'label' });\n```\n\n```html\n<label class=\"button__label button__label_size_m\"></label>\n```\n\n###### Поле `mix`\n\nТип: `{array}`\n\nПо умолчанию: `[]`\n\nПоле `mix` задаёт список БЭМ-сущностей, которые необходимо примешать к текущей сущности.\nВ результате примешивания добавляются CSS-классы и JS-параметры.\n\nПримешивание блока `clearfix` к блоку `header`:\n\n```js\nbemer.match('header', { mix: [{ block: 'clearfix' }] });\nbemer({ block: 'header' });\n```\n\n```html\n<div class=\"header clearfix\"></div>\n```\n\nПримешивание элемента `menu` с JS-параметрами:\n\n```js\nbemer.match('header', { mix: [{ elem: 'menu', js: { length: 10 }}] });\nbemer({ block: 'header' });\n```\n\n```html\n<div class=\"header i-bem header__menu\" data-bem=\"{&quot;header__menu&quot;:{&quot;length&quot;:10}}\"></div>\n```\n\nПримешиваемые сущности в шаблоне и входящем BEMJSON складываются:\n\n```js\nbemer.match('header', { mix: [{ block: 'clearfix' }] });\nbemer({ block: 'header', mix: [{ block: 'menu', elem: 'wrap' }] });\n```\n\n```html\n<div class=\"header menu__wrap clearfix\"></div>\n```\n\n###### Поле `content`\n\nТип: `{*}`\n\nПоле `content` задаёт содержимое HTML-элемента.\nЗначением может быть произвольный тип данных, в том числе BEMJSON любого уровня вложенности.\n\nПростая строка в содержимом блока `page`:\n\n```js\nbemer.match('page', { content: 'Hello world!' });\nbemer({ block: 'page' });\n```\n\n```html\n<div class=\"page\">Hello world!</div>\n```\n\nДобавление блока `header` и элемента `footer` в содержимое блока `page`:\n\n```js\nbemer.match('page', { content: [\n    { block: 'header' },\n    { elem: 'footer' }\n] });\nbemer({ block: 'page' });\n```\n\n```html\n<div class=\"page\">\n    <div class=\"header\"></div>\n    <div class=\"page__footer\"></div>\n</div>\n```\n\n###### Поле `options`\n\nТип: `{object}`\n\nПоле `options` устанавливает опции выполнения шаблона,\nс помощью которых можно переопределить [глобальные настройки](#Метод-config)\nтолько для заданных сущностей.\n\nПринимаемые параметры:\n\n* `{boolean|object}` `[escape]` — флаг экранирования спецсимволов\n  * `{boolean}` `[escape.content]` — флаг экранирования содержимого\n  * `{boolean}` `[escape.attrs]` — флаг экранирования значений атрибутов\n\n##### Функция в значении стандартного поля шаблона\n\nВ значении поля шаблона можно записывать функцию.\n\n###### Параметр функции стандартного поля шаблона\n\nФункция, указанная в значении стандартного поля шаблона принимает параметром значение одноимённого поля из BEMJSON и должна возвращать свой корректный тип данных.\n\nФункция поля `tag` должна возвращать строку:\n\n```js\nbemer.match('bold', { tag: function(bemjsonTag) {\n    if(bemjsonTag === 'span') {\n        return 'b';\n    }\n}});\nvar any = bemer({ block: 'bold', tag: 'span' });\n```\n\nВ результате у блока `bold` будет тег `b`:\n```html\n<b class=\"bold\"></b>\n```\n\n###### Объект `this.bemjson`\n\nКроме параметра функции в стандартных полях шаблона, для получения значений из BEMJSON можно использовать объект `this.bemjson`.\n\nФункция поля `content` может возвращать произвольный тип данных:\n\n```js\nbemer.match('header', { content: function() {\n    return this.bemjson.content || 'Hello world!';\n}});\nbemer({ block: 'header' });\n```\n\nВ содержимое блока `header` было установлено значение по умолчанию, так как в BEMJSON оно не было указано:\n\n```html\n<div class=\"header\">Hello world!</div>\n```\n\n##### Приоритеты в стандартных полях шаблона\n\n###### Примитивные типы\n\nПри одновременном указании примитивного типа в значении стандартного поля шаблона и в BEMJSON, приоритет отдаётся значению из BEMJSON.\n\nОдновременное указание строки в значении поля BEMJSON и шаблона:\n\n```js\nbemer.match('text', { tag: 'span' });\nbemer({ block: 'text', tag: 'b' });\n```\n\nПриоритет у BEMJSON, поэтому блоку `text` будет присвоен тег `b`:\n\n```html\n<b class=\"text\"></b>\n```\n\n###### Массивы и объекты\n\nПри одновременном указании массива или объекта в значении стандартного поля шаблона и BEMJSON, значения будут складываться с приоритетом у BEMJSON.\n\nОдновременное указание объекта атрибутов в значении поля BEMJSON и шаблона:\n\n```js\nbemer.match('input', { attrs: {\n    type: 'text',\n    name: 'age'\n}});\nvar header = bemer({ block: 'input', attrs: { type: 'number' }});\n```\n\nПриоритет у BEMJSON, поэтому атрибуту `type` блока `input` будет присвоено значение `number`:\n\n```html\n<div class=\"input\" type=\"number\" name=\"age\"></div>\n```\n\n###### Функции\n\nВ качестве значения стандартному полю шаблона можно указать функцию.\nПри этом вероятно, что значение возвращается на основе нелинейной логики, и возможно с использованием значения из BEMJSON.\nТаким образом, у значения, возвращаемого функцией приоритет по отношению к BEMJSON.\n\nУказание тега в функции шаблона и в BEMJSON одновременно:\n\n```js\nbemer.match('text', { tag: function() { return 'span'; }});\nbemer({ block: 'text', tag: 'b' });\n```\n\nПриоритет у функции, поэтому блоку `text` будет присвоен тег `span`:\n\n```html\n<span class=\"text\"></span>\n```\n\n##### Произвольные поля шаблона\n\nКроме стандартных полей можно задавать произвольные поля шаблона.\nОни будут доступны в `this`.\n\nПроизвольное поле `sum` складывает два числа:\n\n```js\nbemer.match('sum', {\n    content: function() {\n        return this.sum(this.bemjson.a, this.bemjson.b);\n    },\n    sum: function(a, b) {\n        return a + b;\n    }\n});\nbemer({ block: 'sum', a: 3, b: 7 });\n```\n\nСумма устанавливается в содержимое:\n\n```html\n<div class=\"sum\">10</div>\n```\n\n##### Наследование шаблонов\n\nПо мере декларации поступающие шаблоны могут быть унаследованы от добавленных ранее.\nШаблонизатор делает это самостоятельно.\n\nДекларация нескольких шаблонов на блок `input`:\n\n```js\nbemer\n    .match('input', { js: true, tag: 'input' })\n    .match('input', { attrs: { type: 'text' }})\n    .match('input_inactive', { js: false });\n\nbemer({ block: 'input', mods: { inactive: true }});\n```\n\nРезультат совмещает в себе все указанные правила:\n\n```html\n<input class=\"input input_inactive\" type=\"text\">\n```\n\nНаследование производится только от шаблонов с более общими селекторами.\nНапример, шаблон на блок с модификатором будет унаследован от шаблона на одноимённый блок, но не наоборот.\nАналогичные правила от общего к частному действуют для шаблонов со звёздочками в селекторах.\n\nДекларация элементов блока `header`:\n\n```js\nbemer\n    .match('header__*', { tag: 'span' })\n    .match('header__logo', { attrs: { title: 'logo' }})\n    .match('header__logo_theme_*', { mix: [{ block: 'coloring' }] })\n    .match('header__logo_theme_red', { content: '#fff' });\n\nbemer({ block: 'header', elem: 'logo', elemMods: { theme: 'red' }});\n```\n\nВсе шаблоны задекларированы в порядке от общего к частному, поэтому результат совмещает в себе все указанные правила:\n\n```html\n<span class=\"header__logo header__logo_theme_red coloring\" title=\"logo\">#fff</span>\n```\n\n###### Получение предыдущего значения поля через `this.__base`\n\nПри наследовании шаблонов есть возможность получить\nпредыдущее значение поля.\n\nБлок `text` формирует своё содержимое по цепочке шаблонов:\n\n```js\nbemer\n    .match('text', { content: 'Hello' })\n    .match('text', { content: function() { return this.__base() + ' world'; }})\n    .match('text', { content: function() { return this.__base() + '!'; }});\n\nbemer({ block: 'text' });\n```\n\nВ результате выполнения цепочки вызовов в содержимое устанавливается строка «Hello world!»:\n\n```html\n<div class=\"text\">Hello world!</div>\n```\n\n### Метод `config`\n\nУстанавливает настройки шаблонизации в соответствии с переданными параметрами или сбрасывает настройки до стандартных при вызове без параметров.\n\nМетод принимает один необязательный параметр:\n\n* `{object}` `[config]` — конфигурационные параметры\n  * `{object}` `[config.delimiters]` — разделители имён\n    * `{string}` `[config.delimiters.mod=_]` — разделитель блока и модификатора, элемента и модификатора, модификатора и значения\n    * `{string}` `[config.delimiters.elem=__]` — разделитель блока и элемента\n  * `{boolean|object}` `[config.xhtml=false]` — флаг формирования тегов в формате XHTML\n    * `{boolean}` `[config.xhtml.repeatBooleanAttr=false]` — флаг автоповтора булева атрибута\n    * `{boolean}` `[config.xhtml.closeSingleTag=false]` — флаг закрытия одиночного тега\n  * `{boolean|object}` `[config.escape=true]` — флаг экранирования спецсимволов\n    * `{boolean}` `[config.escape.content=true]` — флаг экранирования содержимого\n    * `{boolean}` `[config.escape.attrs=true]` — флаг экранирования значений атрибутов\n  * `{string}` `[config.tag=div]` — стандартное имя тега\n  * `{string}` `[config.bemClass=i-bem]` — имя класса для js-инициализации\n  * `{string}` `[config.bemAttr=data-bem]` — имя атрибута для хранения параметров инициализации\n  * `{string}` `[config.idPrefix=i]` — префикс идентификаторов, формируемых помощником [id](#Помощник-id)\n\nВозвращает: `{bemer}`\n\n#### Изменение настроек шаблонизации\n\nИзменение разделителей и стандартного имени тега:\n\n```js\nbemer\n    .config({\n        delimiters: {\n            mod: '=',\n            elem: '--'\n        },\n        tag: 'span'\n    })\n    .match('header--logo=size=s', { content: 'logo' });\n\nbemer({ block: 'header', elem: 'logo', elemMods: { size: 's' }});\n```\n\nРезультат работы шаблонизатора с изменёнными настройками:\n\n```html\n<span class=\"header--logo header--logo=size=s\">logo</span>\n```\n\n#### Сброс настроек шаблонизации до стандартных\n\nВ продолжение предыдущего примера, если вызвать метод `config` без параметров, то все настройки сбросятся до стандартных и селекторы последующих шаблонов нужно будет записывать со стандартными разделителями:\n\n```js\nbemer\n    .config()\n    .match('header__logo_size_s', { attrs: { title: 'logo' }});\n\nbemer({ block: 'header', elem: 'logo', elemMods: { size: 's' }});\n```\n\nРезультат работы шаблонизатора со сброшенными до стандартных настройками:\n\n```html\n<span class=\"header__logo header__logo_size_s\" title=\"logo\">logo</span>\n```\n\n### Метод `clean`\n\nУдаляет все задекларированные шаблоны и сбрасывает порядковый номер для формирования идентификаторов помощником [id](#Помощник-id).\n\nВозвращает: `{bemer}`\n\nУдаление шаблона на блок `name`:\n\n```js\nbemer\n    .match('name', { tag: 'span' })\n    .clean();\n\nbemer({ block: 'name' })\n```\n\nБлоку `name` будет установлен тег `div`, потому что шаблон был удалён:\n\n```html\n<div class=\"name\"></div>\n```\n\n### Метод `modules`\n\nШаблонизатор bemer состоит из самостоятельных модулей,\nкаждый из которых предназначен для выполнения собственных целей.\n\nИмеющиеся модули достаточно абстрактные, благодаря чему могут быть использованы за пределами bemer:\n\n* [`Tag`](http://tenorok.github.io/bemer/jsdoc/module-Tag-Tag.html) — работа с тегом\n* [`Selector`](http://tenorok.github.io/bemer/jsdoc/module-Selector-Selector.html) — работа с БЭМ-селектором\n* [`Node`](http://tenorok.github.io/bemer/jsdoc/module-Node-Node.html) — работа с БЭМ-узлом\n* [`Match`](http://tenorok.github.io/bemer/jsdoc/module-Match-Match.html) — проверка БЭМ-узла на соответствие шаблону\n\nДля получения вышеперечисленных модулей предназначен метод `modules`, который принимает один необязательный параметр:\n\n* `{string}` `[name]` — имя модуля\n\nВозвращает: `{object|*}` — все модули или один заданный модуль\n\nИспользование модуля `Selector`:\n\n```js\nvar Selector = bemer.modules('Selector');\n\nvar header = new Selector('header_theme')\n    .modVal('dark')\n    .elem('logo')\n    .elemMod('size', 's');\n\nconsole.log(header.toString());\n```\n\nВ консоль будет выведена строка:\n```\nheader_theme_dark__logo_size_s\n```\n\n### Метод `helper`\n\nВ bemer существуют функции-помощники.\nЭто такие функции, которые доступны в `this` из всех шаблонов.\nПомимо [стандартных помощников](#Функции-помощники) можно добавлять свои собственные с помощью метода `helper`.\n\nМетод принимает два обязательных параметра:\n\n* `{string}` `name` — имя помощника\n* `{function}` `callback` — тело функции помощника\n\nВозвращает: `{bemer}`\n\n#### Добавление помощника\n\nДобавление и использование помощника `multi`, который умножает два числа:\n\n```js\nbemer\n    .helper('multi', function(a, b) {\n        return a * b;\n    })\n    .match('header', {\n        content: function(content) {\n            return this.multi(content[0], content[1]);\n        }\n    });\n\nbemer({ block: 'header', content: [4, 9] })\n```\n\nПроизведение устанавливается в содержимое:\n\n```html\n<div class=\"header\">36</div>\n```\n\n## Функции-помощники\n\nФункции-помощники доступны в `this` из всех шаблонов.\n\nПомимо стандартных помощников можно добавлять свои собственные с помощью [метода helper](#Метод-helper).\n\n### Помощники для работы с деревом\n\n#### Помощник `isFirst`\n\nПроверяет на первый элемент среди сестринских.\n\nВозвращает: `{boolean}`\n\n#### Помощник `isLast`\n\nПроверяет на последний элемент среди сестринских.\n\nВозвращает: `{boolean}`\n\n#### Помощник `isBlock`\n\nПроверяет БЭМ-сущность на блок.\n\nВозвращает: `{boolean}`\n\n#### Помощник `isElem`\n\nПроверяет БЭМ-сущность на элемент.\n\nВозвращает: `{boolean}`\n\n#### Помощник `id`\n\nФормирует уникальное значение для HTML-атрибута `id`.\n\nРезультат состоит из префикса, соли в виде случайного четырёхзначного числа и итерируемого числа начиная с нуля: `i` + `6140` + `0`.\n\nСоль необходима для сохранения уникальности идентификаторов при шаблонизации одновременно на клиенте и сервере.\n\nДля абсолютной гарантии уникальности рекомендуется изменить префикс на клиенте или сервере.\n\nИзменить префикс глобально можно с помощью [метода config](#Метод-config).\n\nИзменить префикс для конкретного формируемого идентификатора можно через параметр помощника.\n\nПараметры:\n\n* `{string}` `[prefix=i]` — префикс для формируемого идентификатора, по умолчанию `i`\n\nВозвращает: `{string}`\n\n### Помощники для работы со строками\n\n#### Помощник `escape`\n\nЭкранирует строку текста.\n\nПредваряет дополнительным слешем: слеш, кавычки, символы перевода строки, каретки и табуляции.\n\nПараметры:\n\n* `{string}` `string` — строка\n\nВозвращает: `{string}`\n\n#### Помощник `unEscape`\n\nДеэкранирует строку текста.\n\nПараметры:\n\n* `{string}` `string` — строка\n\nВозвращает: `{string}`\n\n#### Помощник `htmlEscape`\n\nЭкранирует HTML-строку.\n\nЗаменяет на HTML-сущности: амперсанд, угловые скобки и кавычки.\n\nСодержимое экранируется автоматически для любой БЭМ-сущности.\n\nПараметры:\n\n* `{string}` `string` — строка\n\nВозвращает: `{string}`\n\n#### Помощник `unHtmlEscape`\n\nДеэкранирование HTML-строки.\n\nПараметры:\n\n* `{string}` `string` — строка\n\nВозвращает: `{string}`\n\n#### Помощник `collapse`\n\nУдаляет повторяющиеся пробелы.\n\nПараметры:\n\n* `{string}` `string` — строка\n\nВозвращает: `{string}`\n\n#### Помощник `stripTags`\n\nВырезает HTML-теги.\n\nПараметры:\n\n* `{string}` `string` — строка\n\nВозвращает: `{string}`\n\n#### Помощник `upper`\n\nПереводит всю строку, заданный символ или промежуток символов в верхний регистр.\n\nПараметры:\n\n* `{string}` `string` — строка\n* `{number}` `[indexA]` — порядковый номер символа\n* `{number}` `[indexB]` — порядковый номер символа для указания промежутка\n\nВозвращает: `{string}`\n\n#### Помощник `lower`\n\nПереводит всю строку, заданный символ или промежуток символов в нижний регистр.\n\nПараметры:\n\n* `{string}` `string` — строка\n* `{number}` `[indexA]` — порядковый номер символа\n* `{number}` `[indexB]` — порядковый номер символа для указания промежутка\n\nВозвращает: `{string}`\n\n#### Помощник `repeat`\n\nПовторяет строку заданное количество раз с указанным разделителем\n\nПараметры:\n\n* `{string}` `string` — строка\n* `{number}` `n` — количество повторений\n* `{string}` `[separator]` — разделитель, по умолчанию отсутствует\n\nВозвращает: `{string}`\n\n### Помощники для работы с числами\n\n#### Помощник `random`\n\nВозвращает случайное число.\n\nПри вызове без аргументов возвращает случайное дробное число от 0 до 1.\n\nПри вызове с указанием минимума и максимума возвращает дробное число из этого промежутка.\n\nПри вызове со всеми тремя аргументами возвращает число из заданного промежутка, делящееся без остатка на указанный шаг.\n\nПараметры:\n\n* `{number}` `[min]` — минимум\n* `{number}` `[max]` — максимум\n* `{number}` `[step]` — шаг\n\nВозвращает: `{number}`\n\n### Помощники для работы с объектами\n\n#### Помощник `extend`\n\nРасширяет объект.\n\nПараметры:\n\n* `{object}` `object` — расширяемый объект\n* `{...object}` `source` — расширяющие объекты в любом количестве\n\nВозвращает: `{object}`\n\n#### Помощник `deepExtend`\n\nРасширяет объект рекурсивно.\n\nПараметры:\n\n* `{object}` `object` — расширяемый объект\n* `{...object}` `source` — расширяющие объекты в любом количестве\n\nВозвращает: `{object}`\n\n#### Помощник `clone`\n\nКлонирует объект.\n\nПараметры:\n\n* `{object}` `object` — клонируемый объект\n\nВозвращает: `{object}`\n\n#### Помощник `deepClone`\n\nКлонирует объект рекурсивно.\n\nПараметры:\n\n* `{object}` `object` — клонируемый объект\n\nВозвращает: `{object}`\n\n### Помощники для работы с типами данных\n\nКаждый из этих помощников принимает неограниченное количество параметров.\n\n#### Помощники для проверки на определённый тип данных\n\nЕсли все переданные параметры принадлежат типу данных, на который осуществляется проверка, помощники возвращают `true`, иначе `false`.\n\nПараметры:\n\n* `{...*}` `subject` — параметры\n\nВозвращают: `{boolean}`\n\nСписок помощников для проверки на определённый тип данных:\n\n* `is.string` — строка\n* `is.number` — число\n* `is.nan` — NaN\n* `is.boolean` — логический тип\n* `is.null` — null\n* `is.undefined` — undefined\n* `is.date` — дата\n* `is.regexp` — регулярное выражение\n* `is.array` — массив\n* `is.map` — простой объект (хэш, карта)\n* `is.argument` — аргументы функции\n* `is.function` — функция\n* `is.native` — системная функция\n\n#### Помощник `is.type`\n\nОпределяет тип переданных параметров.\n\nВозвращает строку, соответствующую имени одного из помощников для проверки на определённый тип данных, которые перечислены выше.\n\nВозвращает `mixed`, если были переданы параметры разных типов данных.\n\nПараметры:\n\n* `{...*}` `subject` — параметры\n\nВозвращает: `{string}`\n\n#### Помощники для проверки чисел\n\nПроверяют параметры на число определённого вида.\n\nПараметры:\n\n* `{...*}` `subject` — параметры\n\nВозвращают: `{boolean}`\n\nСписок помощников для проверки чисел:\n\n* `is.integer` — целое число\n* `is.float` — дробное число\n\n#### Помощник `is.primitive`\n\nПроверяет параметры на примитивные типы данных.\n\nВ примитивные типы входят: string, number, NaN, boolean, null, undefined.\n\nПараметры:\n\n* `{...*}` `subject` — параметры\n\nВозвращает: `{boolean}`\n\n#### Помощник `is.every`\n\nПроверяет параметры на единый тип данных.\n\nВозвращает `true`, если все переданные параметры относятся к одному типу данных, иначе `false`.\n\nПараметры:\n\n* `{...*}` `subject` — параметры\n\nВозвращает: `{boolean}`\n","maintainers":[{"name":"tenorok","email":"mail@tenorok.ru"}],"time":{"modified":"2022-06-13T04:31:17.694Z","created":"2014-05-30T12:41:04.123Z","0.1.0":"2014-05-30T12:41:04.123Z","0.1.1":"2014-05-31T19:15:20.850Z","0.1.2":"2014-06-01T18:42:00.128Z","0.1.3":"2014-06-04T08:53:00.424Z","0.2.0":"2014-06-15T17:29:46.282Z","0.2.1":"2014-06-28T12:42:00.092Z","0.2.2":"2014-06-28T17:34:04.742Z","0.3.0":"2014-07-08T18:49:22.870Z","0.3.1":"2014-07-16T21:40:40.614Z","0.4.0":"2014-08-02T17:59:02.836Z","0.4.1":"2014-08-19T08:52:27.275Z","0.4.2":"2014-08-20T19:41:10.629Z","0.4.3":"2014-08-24T14:44:28.327Z","0.4.4":"2014-08-24T19:12:48.675Z","0.4.5":"2014-09-03T18:41:48.902Z","0.5.0":"2014-09-03T18:57:55.362Z","0.5.1":"2014-09-05T07:03:46.337Z","0.6.0":"2014-09-08T10:10:56.184Z","0.6.1":"2014-09-09T08:47:51.698Z","0.6.2":"2014-10-02T11:20:01.548Z","0.6.3":"2014-10-07T19:46:40.047Z","0.7.0":"2014-11-21T13:32:36.588Z","0.7.1":"2014-11-24T11:10:38.395Z","0.8.0":"2014-11-25T10:28:55.660Z","0.8.1":"2015-05-08T10:15:51.807Z","0.8.2":"2015-06-19T15:01:12.390Z","0.8.3":"2015-06-22T12:51:30.659Z","0.8.4":"2015-09-12T12:24:07.606Z","0.8.5":"2016-03-06T15:47:36.212Z","0.8.6":"2016-03-08T19:45:35.662Z","0.8.7":"2016-03-08T20:15:56.666Z"},"homepage":"https://github.com/tenorok/bemer#readme","repository":{"type":"git","url":"git+https://github.com/tenorok/bemer.git"},"author":{"name":"Artem Kurbatov","email":"mail@tenorok.ru"},"bugs":{"url":"https://github.com/tenorok/bemer/issues"},"license":"MIT","readmeFilename":"README.md"}