72
bem-tools 1.0.0 Сергей Татаринцев BEMup в рамках YaC 2013, Москва

Сергей Татаринцев — bem-tools v1.0.0

  • Upload
    yandex

  • View
    327

  • Download
    1

Embed Size (px)

DESCRIPTION

Буквально на днях вышла альфа-версия bem-tools 1.0.0-alpha5. Мы расскажем об изменениях, которые войдут в стабильный релиз bem-tools 1.0.0.

Citation preview

  • 1. bem-tools 1.0.0 BEMup YaC 2013,

2. bem-tools ? 3. 3 4. 3 5. 3 6. - 3 7. API 4 8. API 4 9. API 4 10. API 4 11. API 4 12. 5 13. bem-gen-doc - 5 14. bem-gen-doc - bem-pr bem-sets - 5 15. 1.0.0 ? 16. 7 17. 0.6.x7 18. 0.6.x API 1.x7 19. 0.6.x API 1.x legacy-7 20. 0.6.x API 1.x legacy- 7 21. 0.6.x API 1.x legacy- 7 22. 8 23. make.js8 24. make.js 8 25. make.js 8 26. make.js 8 27. make.js 8 28. make.js 8 29. bem 30. ?10 31. ? npm- bem-10 32. ? npm- bem- bem-tools10 33. ? npm- bem- bem-tools bem-tools peerDependencies10 34. ? npm- bem- bem-tools bem-tools peerDependencies COA bit.ly/BEMUP_COA10 35. ? npm- bem- bem-tools bem-tools peerDependencies COA bit.ly/BEMUP_COA . bit.ly/BEMUP_COMMAND10 36. bem-hellovar Q = require('q'); module.exports = function(BEM) { return this.title('hello world command') .act(function() { return Q.resolve('Hello, world!'); }); };11 37. > bem hello Hello, world!12 38. 39. bem-tools 1.0.0 Levelexports.baseLevelPath = '/path/to/base'; exports.getTechs = function() { return bemUtil.extend(this.__base() || {}, { 'css': 'v2/css', 'someTech': '/path/to/some/tech' }); };14 40. 15 41. = + 15 42. = + V1 15 43. = + V1 15 44. = + V1 __base()15 45. bem-tools 1.0.0module.exports = function (BEM) { return BEM.defineLevel() .setNamingScheme('simple') .addTechs('css', 'js', 'someTech') .createClass(); };16 46. bem-tools 1.0.0 module.exports = function (BEM) { return BEM.defineLevel() .setNamingScheme('simple') .addTechs('css', 'js', 'someTech') .createClass(); };16 47. bem-tools 1.0.0 module.exports = function (BEM) { return BEM.defineLevel() .setNamingScheme('simple') .addTechs('css', 'js', 'someTech') .createClass(); };16 48. bem-tools 1.0.0 V2 module.exports = function (BEM) { return BEM.defineLevel() .setNamingScheme('simple') .addTechs('css', 'js', 'someTech') .createClass(); };16 49. module.exports = function (BEM) { return BEM.defineLevel() .useNpmPackage('bem-techs-core') .addTechs('project.js', 'css', 'js', 'bemhtml') .createClass(); };17 50. $PROJECT_ROOT/.bem/techsmodule.exports = function (BEM) { return BEM.defineLevel() .useNpmPackage('bem-techs-core') .addTechs('project.js', 'css', 'js', 'bemhtml') .createClass(); };17 51. $PROJECT_ROOT/.bem/techs npm-module.exports = function (BEM) { return BEM.defineLevel() .useNpmPackage('bem-techs-core') .addTechs('project.js', 'css', 'js', 'bemhtml') .createClass(); };17 52. $PROJECT_ROOT/.bem/techs npm- V2 bem-tools module.exports = function (BEM) { return BEM.defineLevel() .useNpmPackage('bem-techs-core') .addTechs('project.js', 'css', 'js', 'bemhtml') .createClass(); };17 53. module.exports = function (BEM) { return BEM.defineLevel() .addTechs({ 'css': '/path/to/css', 'js': '/path/to/js' }) .createClass(); }; 18 54. __basevar BlocksLevel = require('./blocks'); module.exports = function (BEM) { return BlocksLevel.extend() .setNamingScheme('simple') .addTechs('something.js') .setDefaultTechs('something.js','something.js') .createClass(); }; 19 55. .bem/level.js 56. .bem/level.js21 57. .bem/level.js 21 58. .bem/level.js , 21 59. .bem/level.js , , 21 60. .bem/level.js , , 21 61. LevelManagermodule.exports = function () { var levelManager = BEM.LevelManager.get(); levelManager.setLevelClass('*.blocks', BlocksLevel); levelManager.setLevelClass('*.bundles', BundlesLevel); };22 62. LevelManager make.js;module.exports = function () { var levelManager = BEM.LevelManager.get(); levelManager.setLevelClass('*.blocks', BlocksLevel); levelManager.setLevelClass('*.bundles', BundlesLevel); };22 63. LevelManager make.js; ;module.exports = function () { var levelManager = BEM.LevelManager.get(); levelManager.setLevelClass('*.blocks', BlocksLevel); levelManager.setLevelClass('*.bundles', BundlesLevel); };22 64. LevelManager+LevelBuilder module.exports = function (make) { make.levels(function (levels) { levels .addLevel('*.blocks') .addTechs(...) .addLevel('*.bundles', {extends: '*.blocks'}) }); }; 23 65. 1.x 66. 25 67. bower-npm-install bem make libs25 68. bower-npm-install bem make libs make.js25 69. bower-npm-install bem make libs make.js bem bench 25 70. bower-npm-install bem make libs make.js bem bench Legacy-25 71. [email protected] 26 72. !