Simple calendar using BEM methodology
JavaScript CSS Shell HTML Makefile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.bem
.githooks/pre-commit
blocks
doc
pages
test
.borschik
.csscomb.json
.editorconfig
.gitignore
.jscs.json
.jshint-groups.js
.travis.yml
CHANGELOG.md
CONTRIBUTION.md
LICENSE
Makefile
README.md
package.json
update-gh-pages.sh

README.md

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.

View demo

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 git@github.com: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.