Попытка завоевать мир сделать лучший Web Framework, действительно облегчающий разработку и поддержку сайта.
А так же систематизировать подходы к вёрстке и описать удобную схему вёрстки сайтов, как больших, так и маленьких.
Этот клуб немодерируемый, поэтому просим вас публиковать записи, которые будут полезны всем читателям клуба.
Если у вас есть вопрос по использованию БЭМ, задайте его в клубе. Мы с радостью ответим на него. А также просим всех — знаете ответ, подключайтесь и помогайте друг другу!
Откуда мы все? Где пользуются БЭМом? Лучше всего на этот вопрос вам ответит картинка by
1000 раз нет!)
А какой интерес к этому проявляют за рубежом? И есть ли он?
В данный момент мы готовим материалы для англоязычных разработчиков.
Ребята, очень не хватает примеров реализации верстки сайтов сделанной по методологии БЭМ. Очень много всяких мастер-классов, описаний утилит, но, блин, ниодного реально удобного примера (только проектики из 3 слов или одной бедной ссылочки).
Лично я не могу сейчас понять идеологию именования: когда делать блок, а когда элемент, когда надо использовать модификаторы, а когда нет.
Понять что-то читая код разнообразных сервисов Яндекса просто нереально.
Хочеться увидеть какой-нибудь относительно обычный сайт (шапка, навигация, сонтенты, сайдбар, футер, ссылочки, списочки, таблички) сверстанный на БЭМ.
Вам нужен пример который бы сразу показывал как надо делать странички на БЭМ. Просто скомпиленная HTML-страница, выложенная в сеть (скажем на github), посмотрев на которую станет понятно, как надо работать с БЭМ.
Спасибо
Главная идея проекта (как скромно понял) в наследовании свойств блоков/элементов.
Иерархия наследования совпадает с естественной иерархией портал/сайт/страница.
Конечно, хотелось бы живых примеров проясняющих: формирование структуры страницы, формирование CSS-стилей на верстку, и самое главное на мой взгляд - наследование JS-логики.
С JS вопросов много: как происходит наследование инициализации элемента/блока, усложнение поведения, отмена какого-то заведенного выше поведения (или предлагается особая культура минимализации описания на верхнем уровне с детализацией вниз - при таком подходе ошибки будут дорого стоить).
Кстати, а где вообще описание, наставления, регламент для написания JavaScript-а блоков/элементов/модификаторов? Полагаю, где-то это есть.
ПС. В принципе блок это тот же элемент, у которого есть фича быть контейнером, все остальное: наличие модификаторов - у обоих одинаково. То есть "блоковость" нужна только для определения вложенности элементов.
В общем заинтересовали, спасибо огромное!
Про JS есть документация: http://bem.github.com/bem -bl/sets/common-desktop/i -bem/i-bem.ru.html
И мастер-класс: http://clubs.ya.ru/bem/replies.xml?item_no=1154
Элементы не обязаны быть вложены в блоки. Они не имеют смысла без блоков (абстрактно), но контейнера может и не быть.
Вообще самая теоретическая статья здесь http://bem.github.com/bem -method/pages/beginning/b eginning.ru.html
Ссылка на теоретическую статью была приведена неправильно, я отредактировала комментарий.
БЭМ очень интересный проект. Но даже не отсутствие приятных деталей в документации ослажняет обучение, а отсутствие документированного кода, т.к. первое, что приходит на ум после первой неудачной попытки сделать тестовый проект - взглянуть как оно устроено.
И очень хочется, чтобы была документация по bemhtml и xjst с большей практической направленостью. Мне очень понравилась идея xjst и хочется включить в текущую работу его, но сейчас представляется понимание их, только освоив ometajs, что занимает время.
Что касается bemhtml, то пока можнно только "на примерах" учиться. Постепенно, вся документация будет, но сами понимаете, команда маленькая, а задач много. Ну и проект open source'ный, если вы в чём-то разобрались по исходникам, можете поучаствовать в написании документации. Если у вас есть время и желание, я объясню, как.
для написания документации думаю моих практических знаний мало о БЭМе. Пока лишь мелкие заметки, а вот код пытаюсь регулярно почитывать. Собственно форклнул проект на гитхабе и проверяю свои мысли в нём.
Мне кажется хватит один раз посмотреть видео с мастер-класса или конференции что бы просто понять идеалогию. И применять БЭМ так как будет удобно в конкретном случае/проекте. Впринципе все понятно с одних только видео конференций. Вот поработать в компании где внедрен БЭМ так как его используют в Яндексе вот это крутой опыт
вопрос перенесен в отдельную тему
Тогда все же теряется возможность использования блоков внутри страниц, сверстанных на чистом asp.net
да и это лишний шаг, сначала сгенерировать из bemhtml aspx-шаблон, затем его отрендерить в htlm, оверхед
Затем единожды генерировать и раскатывать на сервера именно сгенерированные шаблоны. В качестве бонуса получать своеобразную БЭМ методологию на проекте.
Но, конечно, это не самый оптимальный вариант, это просто еще один из способов.
Ага, я понял смысл, как вариант - вполне, да.
спасибо
Написал, теперь пост висит на модерации
Где можно почтитать подробнее про deps.js, bemdecl.js, bemjson.js? Исходники ?
Пока только исходники
Просто в windows с nodejs 0.6.16 у меня не получается собрать тестовый проект. Не могу поразбираться со сборкой. Поэтому совсем непонятно что из чего строится автоматически и зачем нужно
Класс
Присоединяюсь
http://clubs.ya.ru/bem/replies.xml?item_no=1878
У тебя есть на примете простенький макет?
Например, в виде PSD?
Основные трудности возникают с реализацией динамики на сайте с помощью js, ajax, библиотек.
Вот мой вопрос - http://clubs.ya.ru/bem/replies.xml?item_no=3797, будет здорово, если поможете его решить, или дадите ссылки на примеры реализации.
Вообщем посмотреть живой сайт на БЭМ снова не удалось(
сделал буквально следующее:
все собралось.
Но из стектрейса очевидно, что проблема в модуле htmltidy, который используется для приведения html в вид, пригодный для распиливания на php-шаблоны, так что в контексте изучения БЭМ совершенно не нужен. Дебажить htmltidy я не готов. Предлагаю сделать:
git diff
diff --git a/.bem/levels/bundles.js b/.bem/levels/bundles.js
index 051d07b..a3783ea 100644
--- a/.bem/levels/bundles.js
+++ b/.bem/levels/bundles.js
@@ -21,7 +21,7 @@ exports.getTechs = function() {
'ie9.css' : 'v2/ie9.css',
'bemhtml' : join(BEMBL_TECHS, 'v2/bemhtml.js'),
- 'html' : join(PRJ_TECHS, 'index.html.js')
+ 'html' : join(BEMBL_TECHS, 'v2/html.js')
};
};
Это применит технологию сборки html из библиотеки bem-bl. Отлчия от того, что задумано в проекте — имена html-файлов будут соответствовать имени бандла (в проекте они всегда называются index.html) и весь код будет в одну строку вместо отформатированного.
В таком виде должно работать наверняка.
сказал бы 1000 раз спасибо!