Цитата:
|
MakeMeFeel, при выводе текста разбить его на параграфы (<p>) гораздо разумнее -- потом можно задать параграфам стили, вроде отступа первой строки и какой-нибудь заглавной буквы, расстояние между параграфами и т. д. Плюс директива tag в snakeskin работает в DOM-режиме (когда шаблон компилируется непосредственно в DOM в браузере) лучше, т. к. сразу создаёт тег через createElement() , а вариант с replace, хоть и сработает в таком режиме, но будет хуже по производительности из-за юзания innerHTML и дополнительного разбора браузером.
|
Фич реквесты лучше оставлять на гитхабе, но ок, я добавлю такой фильтр в ближайшем минорном релизе SS6 на выходных.
Будет так: data|nl2br |
К тому же, может понадобиться сделать такую операцию не с одним текстом на странице, а с двумя разными -- и тут тоже гораздо логичнее сделать что-то типа callBlock p(text1), callBlock p(text2).
|
Цитата:
Цитата:
|
trikadin,
У меня блоки короткие и плодить в них p, ничего не даст. Один, два переноса. |
Гораздо важнее поменьше кода, т.к. шаблоны и так уже довольно сложные и дополнительная логика в блоках уже начинает напрягать. А также хочется такую фичу из коробки, т.к. она и работать будет побыстрее.
kobezzza, только если можно не забыть, что остальной части данных html фильтр должен работать :) |
Цитата:
|
Забыл тут написать, что вышел очередной релиз SS ветки 6. В основном багфиксы. Добавлен фильтр nl2br.
|
Я тут новый язык шаблонов для юишки пилю, как вам пасоны? как джейд тока круче, больше придется добавлять префиксы к кастомным атрибутам так как при компиляции движок поймет что раз есть директива с таким именем то значит надо при превращении в html добавить префикс)) ну грубо говоря.
и вот в фотошопе подсветочку примерную нарисовал чтобы вы понимали структуру, все атрибуты желтые а точ то до конца строки это просто значение атрибута, строковое, а то как его парсить будет уже решать сам атрибут, ну все как в ангуляре ![]() А вот как бы это было написано на jade например ![]() Правда еще префиксы надо добавлять чтобы не было конфликта с обычными атрибутами (вдруг потом в html10 атрибут repeat добавят), вот так щас приходится писать в jade: ![]() СРАВНИТЕ ВОТ С ЭТИМ: ![]() Плюс, раз уж я буду писать плагин для подсветки синтаксиса то потом вполне научу идешку подсвечивать атрибуты которые кастомные каким-то особым цветом. кстати messages in Message или message in @messages это обычные строки синтаксис которых не определен, там могло быть написано хоть "апывавпаав 434 334 34 34", и директива repeat или range например должна была бы быраспарсить эту строгу и выдернуть нужное) как щас она делает со строкой message in @messages создатель директивы сам решает че туда передавать и в каком формате, но я заготовил пару парсеров для выражений через запятую типа name, 1+2, 33 он распарсит эту строку в массив, ну парсинг частого выражения name as val in arr которое во всяких итераторах используется тоже добавил, можно будет свои пресеты выражений создавать и вообще я думаю это дело как-то стандартизировать чтобы потом можно было подсветку выражений организовывать. все таки это же не просто строки а какой то код и он чето делает. потому шо я могу организовать подсветку в подстановках {{1+2}} потому что там банальный кофескрипт. А вот строку которую мы в атрибут передаем, которая тоже мини логику несет, я как то не стандартизировал. А еще я хочу добавить че-то типа дубликатов атрибутов, ну знаете часто хочется это сделать в коде ![]() И будет например если дублируется обычный атрибут то при рендере все значения просто сложатся и разделятся пробелом ну в случае с class например пригодится. А если же это кастомный какой-то атрибут то я хочу чтобы туда какая-то функция вызывалась чтоле, то есть чтобы он конструировался один раз, но какая то функция типа init вызывалась несколько раз с разными значениями)) удобно? Удобно. Например кастомный атрибут add-class будет парсить строку регуляркой типа вначале слово название класса, потом двоеточие, а потом до конца строки выражение которое будет отслеживаться в скоупе на изменения и.т.п. и вот эта логика опишется в функции init и эта функция вызовится несколько раз с разными значениями атрибута) Ребят по моему это вообще прорыв и это самый лучший шаблонизатор который я видел. Кто знает как на атрибутах красиво сделать свитч? я вот уже 3 года не знаю как придумать))). Или раз уж у нас свой синтаксис теперь то может какую нить хитрую конструкцию придумаем? А еще думаю может чето типа таких логическх псевдоблоков запилить? а то логику в атрибутах элементов не всегда удобно писать. когда что то вроде "примени для этого элемента эту штуку" да, самое то, типа как настройки элемента. но когда это логика связанная именно С РАЗМЕТКОЙ карл. Тут нужно что-то ВНЕ блоков. ![]() Че думаете? А при рендеринге я буду рендерить это в какие-то хитрые html комментарии которые че-то делают. Ну или вот лучше так, вначале реализую стандартные компоненты которые логику реализуют, а потом шаблон просто буду вн их компилить, шаблон вообще это сахар по сути над декларативным html и все что мы пишем в шаблоне должно быть можно написать без шаблона используя чистый html (ну в данном случае я для простоты на джейде написал пример) ![]() То есть текущий API уже позволяет реализовать такую логику, просто ужасно смотрится по этому я и не делал такое, но по сколкьу пилим шаблонизатор... ;) п.с. на самом деле шаблонизатор будет препроцессором, и будет на выходе выдавать обычный html который мы бы могли руками написать) это сделано чтобы не повышать порог вхождения во фреймворк и любая даша не знающая про прероцессоры могла начать пилить сайтики А вообще, по скольку я создам компоненты на все свойства которые есть в style тогда можно будет писать вот так ![]() и это вообще сказка) прям как в css прикиньте)) тока динамически подвязка к яваскрипту. при компиляии заменится на уже работающие сейчас <ul class='ui-chat ui-button ui-text' style-position='absolute' style-width='100px' style-height='{{@height}}px'> |
Часовой пояс GMT +3, время: 09:54. |