Skip to content

Instantly share code, notes, and snippets.

View belozer's full-sized avatar
🏠
Working from home

Sergey Belozyorcev belozer

🏠
Working from home
View GitHub Profile
@belozer
belozer / gulpfile.js
Created November 23, 2016 21:08
gulp-bem with tasks
const gulp = require('gulp')
const Builder = require('gulp-bem-bundle-builder')
const bundler = require('gulp-bem-bundler-fs')
const merge = require('merge2')
const debug = require('gulp-debug')
const babel = require('gulp-babel')
const uglify = require('gulp-uglify')
const gulpif = require('gulp-if')
const concat = require('gulp-concat')
const spawn = require('child_process').spawn
@belozer
belozer / gulpfile.js
Last active November 24, 2016 14:49
Gulpfile with gulp-bem-presets
const gulp = require('gulp');
const Builder = require('gulp-bem-bundle-builder');
const bundler = require('gulp-bem-bundler-fs');
const nodemon = require('gulp-nodemon');
const merge = require('merge2');
const debug = require('gulp-debug');
const babel = require('gulp-babel');
const uglify = require('gulp-uglify');
const gulpif = require('gulp-if');
const concat = require('gulp-concat');
@belozer
belozer / bemhtml.browser.js
Created November 18, 2016 12:25
Build BEM project with gulp-bem
// bem/.tmpls/bemhtml.browser.js
var BEMHTML;
(function(global) {
function buildBemXjst(__bem_xjst_libs__) {
var exports = {};
<%= contents %>
@belozer
belozer / router.js
Last active September 7, 2016 00:30
modules.define('router',
['store', 'store__router', 'router__routes', 'router-base', 'inherit', 'events', 'redux-watch'],
(provide, store, storeRouter, routes, RouterBase, inherit, events, watch) => {
const base = new RouterBase({routes: routes});
const _ = storeRouter.consts;
const Router = inherit(events.Emitter, /** @lends Router.prototype */{
__constructor: function() {
const w = watch(store.getState, 'router');
@belozer
belozer / app.browser.js
Created August 16, 2016 09:42
Проблема с bemDom.update()
modules.define('app',
['i-bem-dom', 'render', 'store', 'store-router', 'redux-watch'],
function(provide, bemDom, render, store, router, watch) {
provide(bemDom.declBlock(this.name, {
onSetMod: {
js: {
'inited': function() {
setTimeout(() => this.setMod('showed'), 100);
const w = watch(store.getState, 'router.app.handler');
this._unstore = store.subscribe(w(handler => {
{
itemType: 'area',
name: 'Площадка 1'
items: [
{
itemType: 'object',
name: 'Объект 1',
currentState: {
param1: 24,
param2: 499,
var techs = {
// essential
fileProvider: require('enb/techs/file-provider'),
fileMerge: require('enb/techs/file-merge'),
// optimization
borschik: require('enb-borschik/techs/borschik'),
// css
css: require('enb-css/techs/css'),
var techs = {
// essential
fileProvider: require('enb/techs/file-provider'),
fileMerge: require('enb/techs/file-merge'),
// optimization
borschik: require('enb-borschik/techs/borschik'),
// css
css: require('enb-css/techs/css'),
modules.define('auth', ['store', 'server-store'],
(provide, store, server) => {
const SET_TOKEN = 'AUTH/SET_TOKEN';
const SET_USER_DATA = 'AUTH/SET_USER_DATA';
const DESTROY = 'AUTH/DESTROY';
/**
* Редьюсер для аутентификации пользователя
* @param {object} state - prevent state
* @param {object} action - action
block(menu-item).mod(theme islands)
{
position: relative;
white-space: nowrap;
mod(disabled)
{
opacity: 0.3;
}