
Stanislav
29.06.2017
18:20:19

Andrey
29.06.2017
18:22:37
Юзал
У тебя стили подгркзились при использовании компонента?
Или там надо руками их добавлять?

Stanislav
29.06.2017
18:23:54

Google

Stanislav
29.06.2017
18:24:59

Pavel
29.06.2017
19:09:11
Всем привет, есть приложение на django rest framework и vueJS, такой вопрос, как организовать сео? ssr для vue нет, думаю по юзер-агенту определять роботов и отдавать нужную страничку уже отрендеренную, какие могут быть еще способы? Переводить на nuxt последный способ, тк проект большой уже

Illya
29.06.2017
19:12:23
А страниц много и динамические?
Webpack prerender plugin. Prerender.io

Pavel
29.06.2017
19:16:29
много но это только странички постов: author/post-permlink
и страничка автора: /author, это все

Yaroslav
29.06.2017
20:16:36
что значит ssr нет?

Pavel
29.06.2017
20:17:08
Есть vue-router, все рендерится только на клиенте

Yaroslav
29.06.2017
20:18:05
Ну.. так самым оптимальным вариантом запилить ssr, и уже рулить как и что отдавать. Роботам или вообще первую страничку по урлу
Когда у нас стал вопрос seo, мы проанализировали nuxt и пререндер. И то и другое глючная шняга. В ssr тонкое место только генерация контента в строку. Но благо Эван отвечает молнеиносно. Всё управление у тебя в руках

Pavel
29.06.2017
20:22:50
Нужен самый быстрый варивант) Мне кажется если сейчас начать переводить все на nuxt то может много подводных камней появиться. "запилить ssr" ты имеешь в виду то что я описал? Отдельный ответ с html для поисковиков и роботов

Yaroslav
29.06.2017
20:23:43
Я имею в виду https://ssr.vuejs.org/

Google

Yaroslav
29.06.2017
20:24:22
То что будет потдерживаться из коробки и релизиться вместе с пакетом.

Liv
29.06.2017
21:05:16
@xanf_ua Я с flow не знаком от слова совсем, так что призываю магистра :) Неоднократно была озвучена мысль о сложности типизации при использовании Vue. Почему тогда в исходниках сплошные /*@flow*/ стоят?

Illya
29.06.2017
21:06:00
Потому что vue типизирован внутри себя
Но наружу он никакие типы не экспортирует
Более того сам синтаксис объектов vue усложняет типизауию

Liv
29.06.2017
21:10:23
думаешь, это было специально задумано автором(-ами)? Просто, если типизация - это панацея (подобные мысли звучат в разных местах), логично было бы во фреймворке, набирающем популярность и код которого типизирован, максимально способствовать внедрению типизации.

Illya
29.06.2017
21:11:08
Нет
Да и сам флоу был внедрен не сразу в v
Ue
Я изучал историю вопроса

Liv
29.06.2017
21:12:37
коммиты разгребал? )

Illya
29.06.2017
21:12:54
Агась

Liv
29.06.2017
21:13:20
это сурово, если так
кстати, мнение по поводу видео: лучше продолжительность не менее 7-10 минут и не более получаса. Если получается длинное по одной теме, то лучше разделить по отдельным ключевым мыслям, а если не получается разделить, чтобы не терять цепь рассуждений, то лучше длинное видео, чем куча коротких :) Под длинным видео можно меточки/содержание сделать: на такой минуте об этом, на этакой - о том.

Victor
29.06.2017
21:17:03
https://github.com/vuejs/vue/pull/5887 вот такое видел, но хз насколько эти изменения релевантны

Illya
29.06.2017
21:23:58
Это для тс

Andrey
29.06.2017
21:31:31
Парни, кто тут в верстке хороший опыт имеет, у меня чисто идеологический вопрос.

Oleh
29.06.2017
21:33:56


Andrey
29.06.2017
21:37:45
Я на том же опыте бутстрапа привык делать какой-то набор компонентов для интерфейса, с какими-то общими классами типа .btn .btn-primary .btn-bg ну и описывание взаимодействия этих компонентов, типа как будут вести себя .btn внутри блока .input-group. А потом уже кастомизировать стили и поведение этих компонентов в зависимости от макетов. Ну например, надо мне немного изменить вид стандартной, для моего ui кита, кнопки в окошке логина, то я в стилях так и пиши .login-form .btn {width: 100%}.
Просто сейчас делаю свой хобби проект, и мне помогает начинающий верстак, и он там все по бэму делает. и мне кажется что это все слишком многословное и описывает каждый чих в интерфейсе, хотя по факту интерфейс это куча повторяющихся компонентов с одинаковыми стилями на основные события типа ховера и т.д.
и вот вопрос, то ли у меня, в силу того что много работал со всякими бутстрапами , не правильное понимание процесса верстки, то ли верстак бэм использует как-то не так, толи бэм вообще не нужен.


Stanislav
29.06.2017
21:50:52
Сложно сказать

Google

Andrey
29.06.2017
22:00:03
ну вот например есть у тебя кнопки
и надо сделать элемент переключалку(типа табы)
почему бы не использовать для этого уже готовые классы для кнопок, типа .button .big и на активную довешивать класс .active
зачем делать

Illya
29.06.2017
22:04:05
Для того чтобы это были независимые элементы интерфейса
Чтоб их стили не влияет друг на друга

Andrey
29.06.2017
22:04:34
так это основные элементы

Illya
29.06.2017
22:05:04
Если это глобально так, то неверно

Andrey
29.06.2017
22:05:17
сделай блок .some-tabs и в нем перелпредели нужные стили для .btn

Illya
29.06.2017
22:05:28
Если же сейчас просто так они выглядят то сверстаро верно
Почитайте какую задачу бэм решает
Он отвязывает стили компонентов от их положения в доме
Чтоб их можно было свободно тасовать потом.

Andrey
29.06.2017
22:07:19
>БЭМ (Блок, Элемент, Модификатор) — компонентный подход к веб-разработке. В его основе лежит принцип разделения интерфейса на независимые блоки. Он позволяет легко и быстро разрабатывать интерфейсы любой сложности и повторно использовать существующий код, избегая «Copy-Paste».

Illya
29.06.2017
22:07:25
Крайне облегчает изменение вёрстку потом - изменение расположения компонентов (в терминах бэмйа блоков) на странице гарантированно йге ломает верстку

Andrey
29.06.2017
22:08:04

Google

Andrey
29.06.2017
22:08:46
ну т.е input-group_2 это не повторно используемый код

Illya
29.06.2017
22:09:08
В том что нельзя стилизовать по правилам бэма "кнопку внутри логин контейнера"
.login .btn
Потому что потом окажется что блок логин переместился ещё куда-то, а там есть свои стили на кнопках и т. д..

Kelin
29.06.2017
22:10:26
как по мне - бэм слишком занудный и мелочный
bootstrap-like вариант мне больше симпатизирует
да, бэм решает вышеописанный вопрос, но вынуждает писать кучу лишнего, имхо
но так, как верстаю я, лучше не видеть никому

Andrey
29.06.2017
22:10:53
или тот же input-group__link_primary. Получается что для кнопки внутри группы будет input-group__btn_primary, для обычного линка будет link_primary, для обычной кнопки будет btn_primary? хотя по факту все эти элементы должны выглядеть одинаково

Illya
29.06.2017
22:11:03
Да,лишнее приходится. Бэм оправдан только когда команда работает

Admin
ERROR: S client not available

Illya
29.06.2017
22:11:58
Чтоб их стили никак не взаимодействовали друг с другом

Kelin
29.06.2017
22:12:02

Andrey
29.06.2017
22:12:13

Kelin
29.06.2017
22:12:18
или дополнительный .btn-login

Andrey
29.06.2017
22:12:31

Kelin
29.06.2017
22:12:45
я у себя кастомным кнопкам просто новые классы добавляю
типа .btn-bet, .btn-retry итд
+ юзаю scoped-стили, поэтому блоки у меня все равно независимыми выходят

Illya
29.06.2017
22:13:35
Ещё раз - бэм оправдан когда допустим сайт пилят разные люди и нужно гарантировать что любое изменение не поломает вёрстку к хренам

Andrey
29.06.2017
22:13:36
в том же router-link приходится все время явно указывать активный класс. Это конечно я придираюсь, но все же

Illya
29.06.2017
22:13:53
Другими словами что стили не привязаны к вёрстке

Google

Kelin
29.06.2017
22:14:04
та мы поняли
но пока я не в команде, никто меня не заставит верстать по бэму)0)0)))

Andrey
29.06.2017
22:16:36
тогда я не понимаю как добиться повторно использовать существующий код, избегая «Copy-Paste». ?
если все блоки независимы

Oleh
29.06.2017
22:19:33
ой ой, я тут все пропустил. Ну да, что бы ничего не пересекалось друг с другом, БЭМ нужно использовать

Kelin
29.06.2017
22:20:04
мне это неудобно, выше написал, почему

Andrey
29.06.2017
22:20:11
ну вот мне не удобно

Oleh
29.06.2017
22:20:42
Хорошо, давайте посмотрим другие варианты

Andrey
29.06.2017
22:21:02
да ну зачем другие, вот конкретный пример из практики =)

Oleh
29.06.2017
22:21:19
Не не, я про другие методологии. Задачу оставим
Мне кажется, вам тогда понравится oocss
https://www.smashingmagazine.com/2011/12/an-introduction-to-object-oriented-css-oocss/
http://oocss.org/
Пример тут, https://github.com/AleshaOleg/holy-grail-markup/tree/master/oocss
Еще есть совсем упоротая фигня, как atomic
https://acss.io/
Очень возможно, что вам зайдет. Да, люди будут вас проклинать за это, когда будут заходить на проект
Но количество стилей, при применении atomic значительно меньше
Особенно это будет плюсом на больших проектах. Пример тут: https://github.com/AleshaOleg/holy-grail-markup/tree/master/atomic
Извините, что пишу по одному сообщению
Но атомик лучше не брать, это дичь полная. Больше для ознакомления. А вот oocss вполне нормально, если не нравится бэм