Тема: Snakeskin
Показать сообщение отдельно
  #694 (permalink)  
Старый 15.03.2016, 18:25
Кандидат Javascript-наук
Отправить личное сообщение для yazonnile Посмотреть профиль Найти все сообщения от yazonnile
 
Регистрация: 25.05.2012
Сообщений: 133

Привет.
Можете подсказать такую вроде не сложную вещину ?
задача глобальная - разбить все на микрочастицы, и комбинировать как хочется.

1.
Есть шаблон основной страницы
- namespace demo
- template layout.general(@params)
	- doctype
		< html
			< head
				< title
					{ @title }
				# style css
					.foo {}
				# script
					alert(1);
			< body
				< .hello
					Hello me!


2.
Есть модуль А
- namespace A

{ template html(@params) }
    < button
         { @buttonText }
{/ template }

#{ template styles(@params) }
#{ @buttonSelector } {
	background: #f00;
	outline: 0;
}
#{/}

#{ template scripts(@params) }
alert( #{@message} )
#{/}

{ template page(@params) }
???
{/ template }


Таких модулей может быть много.
Моя задача наследовать (может не совсем верная формулировка) каждый модуль от demo.layout.general
и на место стилей и скриптов в head ставить мои темплеиты.
Равно как и содержимое body также нужно заменить на A.html шаблон

Я пока себе не представляю, как это делается? При том, что мне нужно в каждый шаблон пробросить нужные переменные.

Т.е должно работать вроде как вот так
const a = ss.compileFile( path.resolve(__dirname, './../a.ss') );

a.page({
    message: 'Some alert message',
    buttonSelector: 'button.my-button',
    buttonText: 'Click me!',
    title: 'Кнопка же, ну'
});


Но я запутался с последовательностью.
Или в сторону block надо копать?
Ответить с цитированием