Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Переименовать project-stub в bem-starter-kit #157

Open
belozer opened this issue Jul 24, 2016 · 26 comments
Open

Переименовать project-stub в bem-starter-kit #157

belozer opened this issue Jul 24, 2016 · 26 comments

Comments

@belozer
Copy link
Member

belozer commented Jul 24, 2016

Для многих starter-kit даёт точное описание того, что несёт в себе данное название. Я когда впервые объяснял на студии про project-stub на меня смотрели с недоумением. Что ещё это за штука такая? Зачем ставить какой-то project-stub?

Или сделать отдельный репозиторий с новым project-stub со всеми принятыми изменениями.

@veged
Copy link
Member

veged commented Jul 24, 2016

полное название bem-project-stub (по аналогии, например, с https://en.wikipedia.org/wiki/Template:Hello!Project-stub), но мы решили не повторять постоянно bem, т.к. уже в названии организации есть bem/project-stub

@tadatuta
Copy link
Member

@veged, я поиском по гитхабу сравнил project-stub VS starter-kit и, надо признать, что starter-kit лидирует с огромным отрывом. Так что, похоже, резон есть.

@tadatuta tadatuta changed the title @ Переименовать project-stub в bem-starter-kit Переименовать project-stub в bem-starter-kit Jul 24, 2016
@veged
Copy link
Member

veged commented Jul 25, 2016

@vithar
Copy link
Member

vithar commented Jul 25, 2016

+1 за переименовать в bem-starter-kit

@Guria
Copy link

Guria commented Jul 25, 2016

bem/starter-kit

@awinogradov
Copy link
Member

👍

@vithar
Copy link
Member

vithar commented Jul 25, 2016

Нет, bem/bem-starter-kit, по аналогии с bem-core и bem-components.

@blond
Copy link
Member

blond commented Jul 30, 2016

@tadatuta а чего ждём? :)

Что-то мешает переименованию?

@belozer
Copy link
Member Author

belozer commented Jul 30, 2016

@blond ответственность за действия :)

@blond
Copy link
Member

blond commented Jul 30, 2016

ответственность за действия :)

@belozyorcev раньше его это не останавливало )

@belozer
Copy link
Member Author

belozer commented Jul 30, 2016

@blond каждый день в нашей жизни прибавляет нам мудрости )

@tadatuta
Copy link
Member

@blond

У нас тут есть параллельный тред про то, что BEMTREE должен быть доступен по умолчанию. Поэтому у меня есть хитрый план оставить project-stub как есть, а в bem-starter-kit переименовать https://github.com/tadatuta/bem-express/

Останавливает меня лишь вопрос, точно ли это должен быть bem-express или стоит взять https://github.com/tadatuta/bem-bemtree-static-project-stub :)

@belozer
Copy link
Member Author

belozer commented Aug 4, 2016

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

Лучше уж bemtree-static-project-stub, т.к. он не перегружен лишними конфигами.

@belozer
Copy link
Member Author

belozer commented Aug 4, 2016

а bem-express -> bem-starter-kit-expressjs, как side-эффект переименования project-stub.

или

bem-expressjs-kit

@belozer
Copy link
Member Author

belozer commented Aug 4, 2016

@tadatuta можно было бы ещё какой-нибудь модуль сделать.

bem-connect-expressjs например, который предоставлял бы рендер, который в bem-express.
bem-connect-adonisjs который предоставлял бы рендер для AdonisJS.
bem-connect-koa который предоставлял бы рендер для KoaJS и т.д.

ну или bem-render-{ koa, adonisjs, expressjs }

И всё что нужно было бы, так это установить данный модуль в bem-starter-kit / или в свой проект с одним из фрейморков, если такой вариант конечно реализуем. Сейчас это описываю как теорию (зная, что практика всегда даёт пинка)

@belozer
Copy link
Member Author

belozer commented Aug 4, 2016

Тем самым было бы некое стартовое ядро, которое можно было бы вливать в разные проекты подключая только нужные модули.

@belozer
Copy link
Member Author

belozer commented Aug 4, 2016

например в проекте на express можно было бы сделать так

var render = require('bem-render-experssjs')({ bemRoot: 'my/bem/folder/path', cache: true });

@tadatuta
Copy link
Member

tadatuta commented Aug 4, 2016

@belozyorcev да, я про такой модуль где-то года два думаю. Там на самом деле не так-то очевидно, как его сделать достаточно универсальным: нужно умножить разные бандлы на разные языки на варианты кэширования и на еще кучу всяких кастомных штук. Так что комбинаторно получается запредельная пепяка. А если сделать только один какой-то конкретный вариант, то все равно где-то нужно предоставлять «запчасти» для реализации собственного рендерера.

@belozer
Copy link
Member Author

belozer commented Aug 4, 2016

@tadatuta можно начать с самого простого/готового. Чтобы он уже был, а дальше потихоньку его развивать (например с помощью сообщества).

@belozer
Copy link
Member Author

belozer commented Aug 5, 2016

@tadatuta можно даже обойтись минимальным функционалом. Модуль правда с клиентской части, но сама суть неизменна. Всё что от рендера требуется -> получить html. Не нужно перегружать его кэшами и прочими плюшками. Кэш можно реализовать другими модулями.

modules.define('render', ['BEMTREE', 'BEMHTML'],

(provide, BEMTREE, BEMHTML) => {

  function render(data, context, onlyContent) {
      var bemtreeCtx = {
          block: 'root',
          context: context,
          // extend with data needed for all routes
          data: Object.assign({}, data)
      };

      var bemjson, html;
      try {
          bemjson = BEMTREE.apply(bemtreeCtx);
      } catch(err) {
          console.error('BEMTREE error', err.stack);
          console.trace('server stack');
          return err;
      }

      if (onlyContent) {
        bemjson = bemjson.content;
      }

      try {
          html = BEMHTML.apply(bemjson);
      } catch(err) {
          console.error('BEMHTML error', err.stack);
          return err;
      }

      return html;
  }

  provide(render);
});

@Guria
Copy link

Guria commented Aug 5, 2016

@tadatuta переименовать этот репозиторий предпочтительнее. Тогда гитхаб будет автоматом редиректить со старых ссылок.

@qfox
Copy link
Member

qfox commented Aug 5, 2016

да, я про такой модуль где-то года два думаю

А чем плох https://github.com/express-bem/express-bem-bemtree ?

@tadatuta
Copy link
Member

tadatuta commented Aug 5, 2016

А чем плох https://github.com/express-bem/express-bem-bemtree ?

Как минимум тем, что он устарел чуть более, чем полностью.

А дальше всякая вкусовщина. express-bem подразумевает знание про внутреннюю кухню, а я пока не потерял надежду, что можно сделать полностью в духе шаблонизаторов для express: добавить адаптер в https://github.com/tj/consolidate.js и прокидывать данные через стандартные средства типа app.local(). Чтобы с точки зрения нодового кода вообще не было разницы между BEMTREE/BEMHTML и каким-нибудь ejs.

@qfox
Copy link
Member

qfox commented Aug 5, 2016

Как минимум тем, что он устарел чуть более, чем полностью.

Сам ты устарел

@tadatuta
Copy link
Member

tadatuta commented Aug 5, 2016

@belozer
Copy link
Member Author

belozer commented Aug 5, 2016

@tadatuta @zxqfox жгёте! 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants