Open krll-k opened 9 years ago
Видимо, имеется ввиду BEM-структура, можно взять наколеночную утилиту @tadatuta https://github.com/tadatuta/html2bemjson/blob/master/index.js, но вместо разбора проверять классы на валидность и структурированность.
Ничего ближе по смыслу в голову не приходит.
p.s. bem-tools писать не надо, если надо автоматически собирать — можно взять enb, а если он слишком громоский или неудобный — то лучше поучаствовать в разработке модульной сборки ;-)
@krll-k я чуть-чуть прокомментировал код прямо в существующих коммитах. а что именно хочется от линтера и какие еще задачи стоят перед «своим bem-tools»? возможно, все необходимое уже готово в том или ином виде.
@tadatuta увидел, спасибо. Кстати чтобы использовать bem-tools необходимо сперва попробовать вручную. Пробовал bem-tools не раз, и сейчас только после ручного написания начинаю догонять что к чему и зачем. Это типа как чтобы научить ходить, нужно сперва поползать.
Наверное единственное чего хотелось бы, чтобы bem-tools поддавался кастомизации.
Единственное что полезно от сборщиков, это то что код храниться строго определенной файловой структуре. Не понимаю кто и зачем придумал использовать название common.desktop для папок, как то не логично. Есть еще так же несколько по моему мнению нелогичных вещей в существующих сборщиках, но чтобы предлагать что то конкретное, хочу попробовать собрать свой сборщик.
В принципе я сумел ощутить преимущество использования BEM, но вот что мне не нравиться в существующих решениях тулсов:
К чему это я? К тому что я скорее всего слегка перфекционист, и привык видеть все как можно логичнее, но я не питонщик ;-)
Поэтому и хочется вместо того чтобы использовать что то готовое- уродливое- но- рабочие, сделать что то красивое- удобное- рабочее
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 в одну кучу.
Наверное единственное чего хотелось бы, чтобы bem-tools поддавался кастомизации.
@krll-k bem-tools поддается кастомизации, для него можно писать свои технологии сборки. Сейчас обычно использует не bem-tools, а enb, он также расширяемый.
Уровни 'common', 'desktop' и т.д. лишь принятая практика в существующих библиотеках. Вы вольны использовать собственное разделение на уровни.
Вообще бы не плохо создать веб- песочницу для ознакомления с бемом, так как сделал это learn.knockoutjs.com
Необходим сперва общей принцип(алгоритм) работы в новой методологии, а затем уже стряпать утилиты. Возможно в офисах Яндекса это пройденный этап, но есть уже в open source подавать, то с полным разъяснением, чуть ли не разжевыванием, чтобы даже десятиклассник Петя на уроке информатике справился!
Ну а валидатора дельного как я понял нет, нужно писать, на этом прошу закрыть эту тему
Есть вот такие "песочницы" для BH и BEMHTML: http://bem.github.io/bh/ https://rozhdestvenskiy.ru/dev/bemhtml/
Если не писать шаблоны, то их же можно использовать как песочницы для BEMJSON. Было бы круто иметь такие же песочницы с подключенными bem-core / bem-components иметь и смотреть html отрендеренный в браузере со стилями.
Хочу проверить свой код, на сколько я по стандарту сделал все, существует ли вадитор такой?
https://github.com/krll-k/vk.com
P.S. не использовал никаких bem-tools, скорее всего напишу свой bem-tools, имхо!