Тема: Snakeskin
Показать сообщение отдельно
  #210 (permalink)  
Старый 29.08.2014, 11:19
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Snakeskin 4.1.0 вышел!

Нововведения:

*) Поддержка макросов: 2 новых параметра компилятора: autoReplace (true включает макросы) и macros (таблица для задания своих макросов);

Базовые макросы:

let def = {
			'@quotes': {
				'"': [['«', '»'], ['‘', '’']],
				'\'': [['“', '”'], ['„', '“']]
			},

			'@shorts': {
				'(c)': '©',
				'(tm)': '™',

				'[v]': '☑',
				'[x]': '☒',
				'[_]': '☐',

				'<-': '←',
				'<-|': '↤',
				'->': '→',
				'|->': '↦',
				'<->': '↔',

				'...': {
					inline: true,
					value: '…'
				},

				'-': {
					inline: true,
					value: '−'
				},

				'--': {
					inline: true,
					value: '—'
				}
			},

			'@adv': {
				'%lorem%': 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolor dolores error facilis iusto magnam nisi praesentium voluptas. Delectus laudantium minus quia sapiente sunt temporibus voluptates! Explicabo iusto molestias quis voluptatibus.'
			},

			'@symbols': {
				'\\n': '\\n',
				'\\r': '\\r',
				'\\s': '&nbsp;'
			}
		};


Как видите, что макросы можно разбивать на группы - это нужно чтобы можно было делать "паки" макросов и удобно отключать не угодные, например,

// Отключим пакет @shorts
Snakeskin.compile(<шаблон>, {autoReplace: true, macros: {'@shorts': null}})


*) Добавлен фильтр default, который позволяет задать значение по умолчанию для выражения с undefined;
*) Фильтру truncate добавлен второй параметр, который означает, что символ многоточия должен выводится в виде мнемоника;
*) Множество исправлений ошибок.

****

Поддержку задания флагов компилятора в шаблоне отложил до следующей версии, чтобы лучше всё продумать.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 29.08.2014 в 11:23.
Ответить с цитированием