Size: a a a

2019 May 26

Р

Роман in БЭМ
Alexey Yarrr (qfox)
Не, зависит от applynext сразу или нет.
Не понял, можешь объяснить?

Делаю так, но, как уже писал, модификатор перезатирается (BEMJSON → BEMHTML → HTML):
источник
2019 May 27

Р

Роман in БЭМ
Как заставить borschik «фризить» пути в шаблонах? Добавил процессинг в make.js — для CSS работает, для BEMTREE/BEMHTML — нет.
источник

Р

Роман in БЭМ
Та же картинка в оригинальном качестве.
источник

Р

Роман in БЭМ
Роман
Как заставить borschik «фризить» пути в шаблонах? Добавил процессинг в make.js — для CSS работает, для BEMTREE/BEMHTML — нет.
Пробовал разные варианты пути (абсолютное, относительное) — бестолку…
источник

Р

Роман in БЭМ
https://github.com/bem-site/bem-method/blob/bem-info-data/articles/borschik/borschik.ru.md#js читал, но так и не понял, как «пропихнуть» borschik в рантайм шаблона.
источник

Р

Роман in БЭМ
источник

Р

Роман in БЭМ
Получилось. Чуть запутался в относительных путях.
источник

AY

Alexey Yarrr (qfox) in БЭМ
Роман
Не понял, можешь объяснить?

Делаю так, но, как уже писал, модификатор перезатирается (BEMJSON → BEMHTML → HTML):
Если еще актуально - в момент, когда меняются значение темы, нужно запомнить старое, выставить новое, позвать applyNext, восстановить старое.
Вроде бы, вся магия
источник

AY

Alexey Yarrr (qfox) in БЭМ
Роман
Не понял, можешь объяснить?

Делаю так, но, как уже писал, модификатор перезатирается (BEMJSON → BEMHTML → HTML):
Ты еще сам пишешь в node. Не пробовал звать applyNext({defaultTheme: ...}) так? В этом случае движок сам восстановит предыдущее значение
источник

Р

Роман in БЭМ
Alexey Yarrr (qfox)
Ты еще сам пишешь в node. Не пробовал звать applyNext({defaultTheme: ...}) так? В этом случае движок сам восстановит предыдущее значение
Он, кажется, в этом случае не предыдущее значение туда ставил, а текущее.
источник

AY

Alexey Yarrr (qfox) in БЭМ
Роман
Он, кажется, в этом случае не предыдущее значение туда ставил, а текущее.
Не должен, там нет никакой магии, только проброс дальше вниз по дереву. Возможно, есть бажок, но концепнуально именно так должно работать
источник

Р

Роман in БЭМ
Хорошо. Надеюсь, я правильно понял. Попробую.
источник

Р

Роман in БЭМ
Но тут ключевой концепт в том, в каком порядке рендерятся шаблоны:

.a.a_theme_light
 .d.d_theme_dark
   e
 f
   g
     h
b
c

a → d → e → f → g → h → b → c
а не a → b → c → d → f → e → g → h
источник

Р

Роман in БЭМ
Если a имеет a_theme_light, a dd_theme_dark, то f должен наследовать iight от a_theme_light, но из-за прохода вглубь будет перезаписан темой из e (e_theme_dark)
источник

Р

Роман in БЭМ
Думал использовать для этого значения this.position и this._bemxjst.depth как указатели положения в дереве, но не получилось…
источник

AY

Alexey Yarrr (qfox) in БЭМ
Роман
Но тут ключевой концепт в том, в каком порядке рендерятся шаблоны:

.a.a_theme_light
 .d.d_theme_dark
   e
 f
   g
     h
b
c

a → d → e → f → g → h → b → c
а не a → b → c → d → f → e → g → h
https://clck.ru/GDfBC посмотри, так?
источник

Р

Роман in БЭМ
Да! А если d будет элементом блока — https://clck.ru/GDfQz
источник

Р

Роман in БЭМ
Спасибо!
источник

Р

Роман in БЭМ
По аналогии думаю теперь ещё запилить валидатор, который будет следить, чтобы не было «form в form» или «link в link».
источник

AY

Alexey Yarrr (qfox) in БЭМ
только не забудь выкосить этот валидатор из продакшн кода
источник