Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Тема посвященная stylus (https://javascript.ru/forum/offtopic/44145-tema-posvyashhennaya-stylus.html)

Maxmaxmaximus7 09.01.2014 00:25

я им наводку дал)) он говорит что думает над синтексом а я в этом бятька))

помогу уж ребятам так и быть:



Цитата:

Но зачем? Зачем делать синтакс? Все должно быть позрачно, НУЖНА возможность сделать так чтобы было прозрачно, НЕТ такого страха что человек чо то наворотит и не поймет где оно вызывается. ЭТО БРЕД и преддрасудки. Это не тот язык где стоит этого бояться. Прозрачный вызов функций это то что позволило вам обогнать остальные пресроцессоры и как дошло дело до селекторов вы испугались. НО ЧЕГО??? Кому не надо просто не будут это использовать!

просто описываем перегрузку для разных типов базовых селекторов и все, можно описать перегрузку для селекторов по классу, можно описать перегрузку для селекторов по псевдоэлементу и.т.п. и каждая из этих функций перегрузок должна возвращать ПОЛНУЮ СТРОКУ СЕЛЕКТОРА в которой она была вызвана. Таким образом если мы перегрузили селектор классов то при присутствии нужного нам класса мы вообще сможем всю строку селектора заменить на что-то другое.

.[^my]()// признак перегрузки
return selector() + 'ololo'
и применяем

div.mqwq // ничего не будет потому что не подошел под селектор который мы перегрузили

div.my-class // подошел и к нему применится функция

селектор заменится на div.my-classololo


cyber,

Цитата:

Сообщение от cyber
к примеру я добавил элементу арибут ng-click, клик поэтому элементу обрабатывается через всплытие, они же не навешивают обработчик на каждый элемент?

вешают, click это директива и она применяется к каждому элементу на котором обьявлена. А почему бы им собственно не вешать?

Maxmaxmaximus7 09.01.2014 00:33

великий создатель ui учит ребят уму разуму)



https://github.com/visionmedia/styl/issues/29

cyber 09.01.2014 00:35

Цитата:

Сообщение от Maxmaxmaximus7
вешают, click это директива и она применяется к каждому элементу на котором обьявлена. А почему бы им собственно не вешать?

ну по сути если много деректив то вешать на каждую отдельно будет достаточно накладно, или я ошибаюсь ?
Они получают колекцию всех элементов с атрибутом ng-click и вешают на них обработчики?

cyber 09.01.2014 00:38

Цитата:

Сообщение от Maxmaxmaximus7
великий создатель ui учит ребят уму разуму)

представляю через неделю статью на хабре " у разработчика stylus нервный срыв, разработка временно преостановлена" :)

Maxmaxmaximus7 09.01.2014 01:11

Цитата:

Сообщение от cyber
или я ошибаюсь

ошибаешься) это мелочи) и 500 киллобайт не наберется


Ебать они непробиваемые


kobezzza 09.01.2014 01:11

Цитата:

Сообщение от Maxmaxmaximus7 (Сообщение 291129)
великий создатель ui учит ребят уму разуму)



https://github.com/visionmedia/styl/issues/29

А почему ты создал issue в Styl, а не в Stylus ? Или ты и там теперь тоже буянишь:)

cyber 09.01.2014 01:14

Цитата:

Сообщение от Maxmaxmaximus7
ошибаешься) это мелочи) и 500 киллобайт не наберется

Ну у них не только ngClick, и все атрибуты они переберают??

nerv_ 09.01.2014 01:18

Цитата:

Сообщение от cyber
Ну у них не только ngClick, и все атрибуты они переберают??

не будь кросс-темным какальщиком. Задавай вопросы в правильных местах :)

cyber 09.01.2014 01:21

nerv_, я из за максимуса в ту тему не захожу:)

kobezzza 09.01.2014 01:23

Цитата:

Сообщение от Maxmaxmaximus7 (Сообщение 291138)
Ебать они непробиваемые


Просто это делать сложно и мутно, ведь селектор может быть очень сложным, а проверять его по рег экспу будет оч накладно, тем более Stylus и так не блещет скоростью.

Вот вполне частый кейз селектора

.foo {
  &_bar{a + 1}, .next {
     &:hover {
         ...
     }
  }
}


Не знаю как ты, а я вложенные селекторы с родительской ссылкой (&) юзаю постоянно.
Вот реальный пример из проекта:
.i-block {
	&_size {
		for el in (xxs 0.6) (xs 0.8) (s 0.9) (m 1) (l 1.2) (xl 1.4) (xxl 1.8) {
			&_{el[0]} {
				font-size: el[1]rem;
			}
		}
	}
}


Вот и получается, что сделать что ты хочешь конечно было бы круто, но это реально мутно и данная фича на самом деле нужна только для префиксов и уже существует rework (кстати тоже от создателя Stylus) и основанные на нём myth и styl в которых проблема решена, т.е. предлагается юзать Stylus + что-то.

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

PS: кстати они не договаривают, что для @keyframes полифил зашит в сам Stylus (и даже есть служебная глобальная переменная vendors), хотя по их же словам это не правильно :)
http://learnboost.github.io/stylus/docs/keyframes.html


Часовой пояс GMT +3, время: 02:11.