bem-site / bem-forum-content-ru

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

Прошу помощи с созданием первого проекта "Hell World" #1225

Open Novamoscow opened 7 years ago

Novamoscow commented 7 years ago

Прочитал документацию и возник вопрос как создать свой первый сайт по БЭМ

А конкретно работа с BEMJSON файлом и сборщиком.

Как новичку сложно разобрать пример на сайта методологии. Может кто сможет объяснить простыми словами. На примере "Hell World" Без использования полного комплекта project-stub

Думаю многим новичкам будет интересно. Как по пунктам создать сайт с фразой Hell World Используя BEMJSON и сборщик!

tadatuta commented 7 years ago

Привет!

Этот вопрос действительно время от времени задают. Парадокс в том, что мы сделали project-stub как раз для того, чтобы облегчить жизнь новичкам, а они упорно хотят пройти по всем граблям самостоятельно :)

Если задача именно в том, чтобы разобраться, как все устроено, то, как ни странно, удобнее всего это делать глядя в код project-stub. Аналогично и собрать что-то свое кастомное — проще отредактировать уже имеющийся код, чем написать все с нуля (тем более, что в итоге получится что-то весьма похожее).

Но если вопрос лишь в том, чтобы из некоего hello.bemjson.js получить HTML-страничку, то тут все проще, конечно.

Нам понадобится node.js, npm и полноценная консоль (на windows можно воспользоваться новой возможностью запускать там Ubuntu либо по-старинке поставить git bash, например).

После этого в консоли достаточно сделать следующее:

# создали папку hello
mkdir hello
# перешли в нее
cd $_
# инициализировали npm-пакет
npm init -y
# поставили bem-xjst
npm i bem-xjst --save
# создали простой bemjson-файл
echo "module.exports = { block: 'heading', content: 'Hello, BEM' };" > hello.bemjson.js
# создали шаблон для блока heading, использованного в bemjson-файле
echo "block('heading').tag()('h1')" > hello.bemhtml.js
# скомпилировали шаблоны
./node_modules/.bin/bem-xjst -i hello.bemhtml.js -o tmpl.bemhtml.js
# применили шаблоны к bemjson-файлу, сохранили полученный HTML в файле hello.html
node -e "fs.writeFileSync('hello.html', require('./tmpl.bemhtml').apply(require('./hello.bemjson')))" 
DjonyBastone commented 7 years ago

@Novamoscow привет.

В верстке можно сказать, что я ноль - не адаптивный лендинг могу сверстать, без JS. Вообще JS не понимаю.

Примерно 2-3 недели назад, первый раз зашел на сайт ru.bem.info. Проект собираю для своих целей. Часть сайта создана верстальщиком и уже выложена на хостинге. Но так как денег нет заплатить за работу (слил на дизайн и первоначальную верстку), принял решение сверстать остальное "готовыми блоками". Методика БЭМ в самый раз для моей цели.

project-stub - у меня собрался не идеально, как и старт-проджект. Но этого достаточно было, что бы начать проектировать страницы. Начал собирать свой проект.

Все проблемы с какими я столкнулся, разрешил с помощью этого форума. Если на форуме нет информации, то ребята отвечают, даже в ситуациях не касающихся конкретно БЭМ. За поддержку - Большая благодарность.

На счет документации согласен. Была бы проще подача в 2 уровня, сначала - простыми словами, потом детали, это как пожелание. Но, пока с форумом справляюсь.

Novamoscow commented 7 years ago

Спасибо ребят! Думаю все это в терминале Мака сработает, буду пробовать, разбираться!)

Novamoscow commented 7 years ago

@DjonyBastone А Можешь дать свои контакты? Я бы в личку пару вопросов спросил

DjonyBastone commented 7 years ago

Fahrenheit140@yandex.ru