bem-site / bem-forum-content-ru

Content BEM forum for Russian speak users
MIT License
56 stars 6 forks source link

Существует ли вадитор BEM кода? #415

Open krll-k opened 9 years ago

krll-k commented 9 years ago

Хочу проверить свой код, на сколько я по стандарту сделал все, существует ли вадитор такой?

https://github.com/krll-k/vk.com

P.S. не использовал никаких bem-tools, скорее всего напишу свой bem-tools, имхо!

qfox commented 9 years ago

Видимо, имеется ввиду BEM-структура, можно взять наколеночную утилиту @tadatuta https://github.com/tadatuta/html2bemjson/blob/master/index.js, но вместо разбора проверять классы на валидность и структурированность.

Ничего ближе по смыслу в голову не приходит.

p.s. bem-tools писать не надо, если надо автоматически собирать — можно взять enb, а если он слишком громоский или неудобный — то лучше поучаствовать в разработке модульной сборки ;-)

tadatuta commented 9 years ago

@krll-k я чуть-чуть прокомментировал код прямо в существующих коммитах. а что именно хочется от линтера и какие еще задачи стоят перед «своим bem-tools»? возможно, все необходимое уже готово в том или ином виде.

krll-k commented 9 years ago

@tadatuta увидел, спасибо. Кстати чтобы использовать bem-tools необходимо сперва попробовать вручную. Пробовал bem-tools не раз, и сейчас только после ручного написания начинаю догонять что к чему и зачем. Это типа как чтобы научить ходить, нужно сперва поползать.

Наверное единственное чего хотелось бы, чтобы bem-tools поддавался кастомизации.

Единственное что полезно от сборщиков, это то что код храниться строго определенной файловой структуре. Не понимаю кто и зачем придумал использовать название common.desktop для папок, как то не логично. Есть еще так же несколько по моему мнению нелогичных вещей в существующих сборщиках, но чтобы предлагать что то конкретное, хочу попробовать собрать свой сборщик.

В принципе я сумел ощутить преимущество использования BEM, но вот что мне не нравиться в существующих решениях тулсов:

К чему это я? К тому что я скорее всего слегка перфекционист, и привык видеть все как можно логичнее, но я не питонщик ;-)

Поэтому и хочется вместо того чтобы использовать что то готовое- уродливое- но- рабочие, сделать что то красивое- удобное- рабочее

Guria commented 9 years ago

bemjson.js - почему не просто bemjson или bemyaml?

Потому что это полноценный js в первую очередь, со всеми вытекающими.

bemtree и bemhtml - зачем много плодить сущностей, почему бы не объеденить;

Про bemtree: http://www.slideshare.net/yandex/ss-33748182 http://www.slideshare.net/yandex/bemtree https://medium.com/@qfox/%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-34d55e3b8dfd

Можно обойтись только bemhtml: генерировать контекст из самого bemhtml и строить html. Однако двухпроходная шаблонизация позволяет разделить обработку данных от конечного оформления. Вы, как слегка перфекционист, наверняка не любите мешать HTML и CSS в одну кучу.

apsavin commented 9 years ago

Наверное единственное чего хотелось бы, чтобы bem-tools поддавался кастомизации.

@krll-k bem-tools поддается кастомизации, для него можно писать свои технологии сборки. Сейчас обычно использует не bem-tools, а enb, он также расширяемый.

Guria commented 9 years ago

Уровни 'common', 'desktop' и т.д. лишь принятая практика в существующих библиотеках. Вы вольны использовать собственное разделение на уровни.

krll-k commented 9 years ago

Вообще бы не плохо создать веб- песочницу для ознакомления с бемом, так как сделал это learn.knockoutjs.com

Необходим сперва общей принцип(алгоритм) работы в новой методологии, а затем уже стряпать утилиты. Возможно в офисах Яндекса это пройденный этап, но есть уже в open source подавать, то с полным разъяснением, чуть ли не разжевыванием, чтобы даже десятиклассник Петя на уроке информатике справился!

Ну а валидатора дельного как я понял нет, нужно писать, на этом прошу закрыть эту тему

Guria commented 9 years ago

Есть вот такие "песочницы" для BH и BEMHTML: http://bem.github.io/bh/ https://rozhdestvenskiy.ru/dev/bemhtml/

Если не писать шаблоны, то их же можно использовать как песочницы для BEMJSON. Было бы круто иметь такие же песочницы с подключенными bem-core / bem-components иметь и смотреть html отрендеренный в браузере со стилями.

apsavin commented 9 years ago

Я как-то делал вот такую штуку