Skip to content

Latest commit

 

History

History
97 lines (80 loc) · 3.93 KB

README.md

File metadata and controls

97 lines (80 loc) · 3.93 KB

BEM Calendar Build Status

This is the assignment for entering Frontend Developer School by hh.ru.

Project based on ideas of Nikolas Zakas and developed using BEM methodology.

See my blog post for more information.

What is inside?

Features

Methodologies, libraries, and frameworks

  • BEM — a Block-Element-Modifier methodology for developing frontend
  • bem-core — a base library for web interface development
  • bh — a templates engine for BEM methodology
  • ymaps modules — a modules system
  • inherit — an inheritance syntax sugar

Tools

  • enb — the fastest builder for BEM projects
  • borschik — an extendable builder for text-based file formats (css and javascript, for example)
  • jshint-groups — a JSHint wrapper allowing validate filesets with different jshint options
  • jscs — a code style checker for javascript
  • csscomb — a coding style formatter for CSS
  • git-hooks — a tool for git hooks managment
  • mocha + chai + sinon + phantomjs — testing client javascript

Project structure

.bem                ENB config for building project
.git-hooks          Git hooks
docs                Documentation
blocks              Code
blocks/common       Visual blocks for building components
blocks/core         Core of application
blocks/components   Modules
blocks/interfaces   Description of Interfaces
blocks/vendors      Vendor libraries and helpers
pages               Pages
test                Special page for building/running tests

How to develop?

Requirements

Installation

git clone [email protected]:tarmolov/bem-calendar.git
cd bem-calendar
make

Then open the link in your favorite browser:

http://localhost:8080/pages/calendar/calendar.html

Build project and run enb server

make

Static code analyser and codestyle checking

make lint

Run tests

In console:

make test

In browser:

make

Then open the link in your favorite browser:

http://localhost:8080/test/test.html

Or you can look at screenshoots generated using BrowserStack:

Contribution

See Contribution guide for more information.