Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #591 (permalink)  
Старый 09.09.2015, 16:36
Аспирант
Отправить личное сообщение для MakeMeFeel Посмотреть профиль Найти все сообщения от MakeMeFeel
 
Регистрация: 08.08.2015
Сообщений: 43

Сообщение от trikadin
Но это плохой вариант.
почему? выглядит короче и читабельней
Ответить с цитированием
  #592 (permalink)  
Старый 09.09.2015, 16:40
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

MakeMeFeel, при выводе текста разбить его на параграфы (<p>) гораздо разумнее -- потом можно задать параграфам стили, вроде отступа первой строки и какой-нибудь заглавной буквы, расстояние между параграфами и т. д. Плюс директива tag в snakeskin работает в DOM-режиме (когда шаблон компилируется непосредственно в DOM в браузере) лучше, т. к. сразу создаёт тег через createElement() , а вариант с replace, хоть и сработает в таком режиме, но будет хуже по производительности из-за юзания innerHTML и дополнительного разбора браузером.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #593 (permalink)  
Старый 09.09.2015, 16:40
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Фич реквесты лучше оставлять на гитхабе, но ок, я добавлю такой фильтр в ближайшем минорном релизе SS6 на выходных.

Будет так:
data|nl2br
__________________
kobezzza
code monkey
Ответить с цитированием
  #594 (permalink)  
Старый 09.09.2015, 16:42
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

К тому же, может понадобиться сделать такую операцию не с одним текстом на странице, а с двумя разными -- и тут тоже гораздо логичнее сделать что-то типа callBlock p(text1), callBlock p(text2).
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #595 (permalink)  
Старый 09.09.2015, 16:54
Аспирант
Отправить личное сообщение для MakeMeFeel Посмотреть профиль Найти все сообщения от MakeMeFeel
 
Регистрация: 08.08.2015
Сообщений: 43

Сообщение от kobezzza
Будет так:
data|nl2br
Спасибо добрый "Санта"

Сообщение от trikadin
и тут тоже гораздо логичнее сделать
data|nl2br а не плодить блоки. Чем проще, тем проще вспомнить что оно делает.
Ответить с цитированием
  #596 (permalink)  
Старый 09.09.2015, 16:56
Аспирант
Отправить личное сообщение для MakeMeFeel Посмотреть профиль Найти все сообщения от MakeMeFeel
 
Регистрация: 08.08.2015
Сообщений: 43

trikadin,
У меня блоки короткие и плодить в них p, ничего не даст. Один, два переноса.
Ответить с цитированием
  #597 (permalink)  
Старый 09.09.2015, 16:58
Аспирант
Отправить личное сообщение для MakeMeFeel Посмотреть профиль Найти все сообщения от MakeMeFeel
 
Регистрация: 08.08.2015
Сообщений: 43

Гораздо важнее поменьше кода, т.к. шаблоны и так уже довольно сложные и дополнительная логика в блоках уже начинает напрягать. А также хочется такую фичу из коробки, т.к. она и работать будет побыстрее.

kobezzza,
только если можно не забыть, что остальной части данных html фильтр должен работать

Последний раз редактировалось MakeMeFeel, 09.09.2015 в 17:01.
Ответить с цитированием
  #598 (permalink)  
Старый 09.09.2015, 17:04
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
kobezzza,
только если можно не забыть, что остальной части данных html фильтр должен работать
Ну это понятно
__________________
kobezzza
code monkey
Ответить с цитированием
  #599 (permalink)  
Старый 19.09.2015, 21:29
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Забыл тут написать, что вышел очередной релиз SS ветки 6. В основном багфиксы. Добавлен фильтр nl2br.
__________________
kobezzza
code monkey
Ответить с цитированием
  #600 (permalink)  
Старый 19.12.2015, 08:46
Профессор
Посмотреть профиль Найти все сообщения от Mаxmaxmаximus
 
Регистрация: 29.10.2015
Сообщений: 473

Я тут новый язык шаблонов для юишки пилю, как вам пасоны? как джейд тока круче, больше придется добавлять префиксы к кастомным атрибутам так как при компиляции движок поймет что раз есть директива с таким именем то значит надо при превращении в 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'>

Последний раз редактировалось Mаxmaxmаximus, 19.12.2015 в 11:54.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
express-snakeskin - view через snakeskin для express melky Ваши сайты и скрипты 5 10.06.2014 11:35