generator-bem-ng

Yeoman generator for AngularJS applications on BEM methodology

Usage no npm install needed!

<script type="module">
  import generatorBemNg from 'https://cdn.skypack.dev/generator-bem-ng';
</script>

README

generator-bem-ng Build Status

This README also available in russian.

Awesome Yeoman generator for your AngularJS flowered bem-projects. Wow!

You can

  • make pretty bem-project structure: yo bem-ng
  • create AngularJS modules: yo bem-ng:module users
  • develop you bem-project with Gulp (take instruction from console): gulp
  • distribute project with Gulp: gulp build
  • get it now: npm install -g generator-bem-ng

Paradigm

AngularJS modules is BEM blocks. Controllers, routes, services, directives and etc. is BEM elements. Elements required in modules by *.deps.js file.

Levels usage:

  • common.blocks - use for override blocks from connected libraries
  • service.blocks - use for new blocks on this service
  • application.blocks - use for AngularJS modules only
  • server.blocks - use for NodeJS server modules

Put all your CSS design to:

  • design/common.blocks - override libraries styles
  • design/service.blocks - only this service styles

module example:

application.blocks
    users
        __controllers
            _index
                users__controllers_index.js
                users__controllers_index.en.md
                users__controllers_index.ru.md
            _signin
                users__controllers_singin.js
            _signup
                users__controllers_singup.js
        __directives
            _awesome
                users__directives_awesome.js
        __factories
        __services
        __routes
            users__routes.js
        users.js
        users.en.md
        users.ru.md
        users.deps.js

Technologies

You can override them with bem-tools techs in .bem/levels/*.js files and also you can write you custom tech in .bem/levels/techs/*.js.

Dependencies

Project contain bem-core and bem-ng libs. bem-core was developed by guys from Yandex.

Authors

Ideas

Please, talk about your ideas by GitHub issues.

MIT License

Think better. Stay BEMed!