Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #261 (permalink)  
Старый 29.09.2014, 21:22
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
Возможно я что-то не понял, но у меня не компилится этот код из доки
Это мой недочёт, дело в том, что по умолчанию включён флаг xml и он ругается, если вдруг скобка незакрытая или кривой атрибут задан.

Пример будет работать если отключить флаг xml, подправлю эту главу.

Но чтобы передать смысл того описания:

/// Классический синтаксис
{template index(name)}
  /// Конструкция будет показана как текст
  : a = 1
  {name}
{end}


Цитата:
И ещё вопрос: как можно сделать так, чтобы SS не уничтожал мои любимые переносы между тегами?
Поясни, что ты имеешь ввиду (лучше с примером).
__________________
kobezzza
code monkey
Ответить с цитированием
  #262 (permalink)  
Старый 29.09.2014, 21:43
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 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>
Ответить с цитированием
  #263 (permalink)  
Старый 29.09.2014, 21:51
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Ты используешь что ли компиляцию с флагом --exec? Если да, то задай флаг --pretty-print.

А если компилишь в функцию, а потом вызываешь ее, то никак. А зачем это нужно? SS схлопывает смежные пробелы в 1. Я не понимаю твой кейз, опиши его целиком: как компилишь, во что сохраняешь и т.д.
__________________
kobezzza
code monkey
Ответить с цитированием
  #264 (permalink)  
Старый 29.09.2014, 22:03
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 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_");




Цитата:
А если компилишь в функцию, а потом вызываешь ее, то никак.
Жаль ;(

Цитата:
А зачем это нужно?
Чтобы я мог посмотреть код в удобочитаемом виде)
Ответить с цитированием
  #265 (permalink)  
Старый 29.09.2014, 22:22
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 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
code monkey

Последний раз редактировалось kobezzza, 29.09.2014 в 22:36.
Ответить с цитированием
  #266 (permalink)  
Старый 01.10.2014, 00:18
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

kobezzza,
Цитата:
А почему ты не юзаешь SS node API?
1. Потому, что ночь и я дурак.
2. Потому, что как-то забыл про него.
3. Потому, что пока не знаю, как с его помощью взять исходник шаблона из одной папки и создать компилированную версию в другой.

Как-то так


Цитата:
Чтобы сделать бьютифайл для своего HTML заюзай модуль
О! Спасибо, совсем забыл про бьютифаи)
Ответить с цитированием
  #267 (permalink)  
Старый 03.10.2014, 12:33
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Фух, давно не писал о новостях:

1) Выпустил апдейт 5.1.3.

В версии 5.1 была улучшена работа с пробельными символами: добавлен параметр tolerateWhitespace, при котором SS вставляет символы "как есть".

Также в директиве tag добавлена возможность явной декларации инлайн тегов, т.е. тех, которые сразу закрываются.

< my-tag:inline /// <my-tag/>


2) Обновил плагин для Grunt, сделал плагин для Gulp.

***

В ближайшее время обновлю доку.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 03.10.2014 в 14:15.
Ответить с цитированием
  #268 (permalink)  
Старый 03.10.2014, 12:43
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
Потому, что пока не знаю, как с его помощью взять исходник шаблона из одной папки и создать компилированную версию в другой.
Можешь описать что ты хочешь сделать, а то я уже потерял твою мысль
__________________
kobezzza
code monkey
Ответить с цитированием
  #269 (permalink)  
Старый 03.10.2014, 21:24
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

kobezzza,
да я уже решил проблему) Тем более, что теперь ты выпустил плагин для Галпа)
Ответить с цитированием
  #270 (permalink)  
Старый 04.10.2014, 11:10
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Выпустил патч 5.1.7.

PS: когда же кончаться баги
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 04.10.2014 в 12:02.
Ответить с цитированием
Ответ



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

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


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