| 
	| 
	
	| 
		
	| 
			
			 
			
				29.09.2014, 21:22
			
			
			
		 |  
	| 
		
			|  | Быдлокодер;)       |  | 
					Регистрация: 19.11.2010 
						Сообщений: 4,338
					 
		
 |  |  
	| 
	
 
	| Цитата: |  
	| Возможно я что-то не понял, но у меня не компилится этот код из доки |  
	
 Это мой недочёт, дело в том, что по умолчанию включён флаг xml и он ругается, если вдруг скобка незакрытая или кривой атрибут задан.
 
Пример будет работать если отключить флаг xml, подправлю эту главу.
 
Но чтобы передать смысл того описания:
 
/// Классический синтаксис
{template index(name)}
  /// Конструкция будет показана как текст
  : a = 1
  {name}
{end}
	
 
	| Цитата: |  
	| И ещё вопрос: как можно сделать так, чтобы SS не уничтожал мои любимые переносы между тегами? |  
	
 Поясни, что ты имеешь ввиду (лучше с примером). |  |  
	| 
		
	| 
			
			 
			
				29.09.2014, 21:43
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 23.12.2013 
						Сообщений: 1,856
					 
		
 |  |  
	| kobezzza,
  
	
 
	| Цитата: |  
	| Поясни, что ты имеешь ввиду (лучше с примером). |  
	
 допустим у меня такой шаблон
 
- template index(name)
  <!DOCTYPE html>
  < html
    < head
      < title :: {name}
    < body
      < h1 
        контент
Он компилится в 
 
<!DOCTYPE html> <html><head><title>_содержимое name_</title></head><body><h1>контент</h1></body></html>
 
а мне надо так
 
<!DOCTYPE html> 
<html>
  <head>
    <title>_содержимое name_</title>
  </head>
  <body>
    <h1>контент</h1>
  </body>
</html>
 |  |  
	| 
		
	| 
			
			 
			
				29.09.2014, 21:51
			
			
			
		 |  
	| 
		
			|  | Быдлокодер;)       |  | 
					Регистрация: 19.11.2010 
						Сообщений: 4,338
					 
		
 |  |  
	| Ты используешь что ли компиляцию с флагом --exec? Если да, то задай флаг --pretty-print.
 А если компилишь в функцию, а потом вызываешь ее, то никак. А зачем это нужно? SS схлопывает смежные пробелы в 1. Я не понимаю твой кейз, опиши его целиком: как компилишь, во что сохраняешь и т.д.
 |  |  
	| 
		
	| 
			
			 
			
				29.09.2014, 22:03
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 23.12.2013 
						Сообщений: 1,856
					 
		
 |  |  
	| kobezzza, 
 не, без всяких флагов. 
Делаю, например, так:
 
var fs = require('fs');
var snakeskin = require('snakeskin');
var tpl = fs.readFileSync('views/index.ss', 'utf-8');
var tpls = {};
snakeskin.compile(tpl, { context: tpls });
var content = tpls.index("_содержимое name_");
	
 
	| Цитата: |  
	| А если компилишь в функцию, а потом вызываешь ее, то никак. |  
	
 Жаль ;(
 
	
 
	| Цитата: |  
	| А зачем это нужно? |  
	
 Чтобы я мог посмотреть код в удобочитаемом виде) |  |  
	| 
		
	| 
			
			 
			
				29.09.2014, 22:22
			
			
			
		 |  
	| 
		
			|  | Быдлокодер;)       |  | 
					Регистрация: 19.11.2010 
						Сообщений: 4,338
					 
		
 |  |  
	| А почему ты не юзаешь SS node API? 
var snakeskin = require('snakeskin');
var tpls = snakeskin.compileFile('views/index.ss');
var content = tpls.index('_содержимое name_');
Или
 
var snakeskin = require('snakeskin');
var content = snakeskin.execFile('views/index.ss')('_содержимое name_');
Чтобы сделать бьютифайл для своего HTML заюзай модуль
https://www.npmjs.org/package/js-beautify 
var beautify = require('js-beautify').html;
var content = beautify(tpls.index("_содержимое name_"));
***
 
Почему это не нужно в SS: бьютифайлинг - это отдельная задача (причём довольно объёмная) и решает её отдельный инструмент, поэтому глупо будет пихать его в SS (unix way таки   ), однако в CLI API такая фича из коробки есть, но там в рамках параметра --exec для для использования SS как движка для статичных сайтов.			 Последний раз редактировалось kobezzza, 29.09.2014 в 22:36.
 |  |  
	| 
		
	| 
			
			 
			
				01.10.2014, 00:18
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 23.12.2013 
						Сообщений: 1,856
					 
		
 |  |  
	| kobezzza,
  
	
 
	| Цитата: |  
	| А почему ты не юзаешь SS node API? |  
	
 1. Потому, что ночь и я дурак. 
2. Потому, что как-то забыл про него. 
3. Потому, что пока не знаю, как с его помощью взять исходник шаблона из одной папки и создать компилированную версию в другой.
 
Как-то так    
	
 
	| Цитата: |  
	| Чтобы сделать бьютифайл для своего HTML заюзай модуль |  
	
 О! Спасибо, совсем забыл про бьютифаи) |  |  
	| 
		
	| 
			
			 
			
				03.10.2014, 12:33
			
			
			
		 |  
	| 
		
			|  | Быдлокодер;)       |  | 
					Регистрация: 19.11.2010 
						Сообщений: 4,338
					 
		
 |  |  
	| Фух, давно не писал о новостях: 
1) Выпустил апдейт 5.1.3.
 
В версии 5.1 была улучшена работа с пробельными символами: добавлен параметр tolerateWhitespace, при котором SS вставляет символы "как есть".
 
Также в директиве tag добавлена возможность явной декларации инлайн тегов, т.е. тех, которые сразу закрываются.
 
< my-tag:inline /// <my-tag/>
 
2) Обновил плагин для Grunt , сделал плагин для Gulp .
 
***
 
В ближайшее время обновлю доку.			 Последний раз редактировалось kobezzza, 03.10.2014 в 14:15.
 |  |  
	| 
		
	| 
			
			 
			
				03.10.2014, 12:43
			
			
			
		 |  
	| 
		
			|  | Быдлокодер;)       |  | 
					Регистрация: 19.11.2010 
						Сообщений: 4,338
					 
		
 |  |  
	| 
	
 
	| Цитата: |  
	| Потому, что пока не знаю, как с его помощью взять исходник шаблона из одной папки и создать компилированную версию в другой. |  
	
 Можешь описать что ты хочешь сделать, а то я уже потерял твою мысль   |  |  
	| 
		
	| 
			
			 
			
				03.10.2014, 21:24
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 23.12.2013 
						Сообщений: 1,856
					 
		
 |  |  
	| kobezzza,да я уже решил проблему) Тем более, что теперь ты выпустил плагин для Галпа)
 |  |  
	| 
		
	| 
			
			 
			
				04.10.2014, 11:10
			
			
			
		 |  
	| 
		
			|  | Быдлокодер;)       |  | 
					Регистрация: 19.11.2010 
						Сообщений: 4,338
					 
		
 |  |  
	| Выпустил патч 5.1.7.PS:  когда же кончаться баги  			 Последний раз редактировалось kobezzza, 04.10.2014 в 12:02.
 |  |  |  |