Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 04.05.2012, 15:03
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Обновилась версия - 2.3.0
Основное изменение - добавлен тег else с атрибутом if
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #22 (permalink)  
Старый 11.05.2012, 18:23
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Добавил модуль в npm и в список модулей.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #23 (permalink)  
Старый 13.06.2012, 20:35
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Перед выходом новой версии хочу провести небольшой эксперимент и попросить вашего участия в нем
Если вы потратите немного своего времени, я буду вам очень признателен

Есть некие файлы шаблонов:

page.xml:
<?xml version="1.0" encoding="UTF-8"?>
<tsn:root xmlns:tsn="TSN" xmlns="http://www.w3.org/1999/xhtml">

	<tsn:data key="JSBlock">
		<script type="text/javascript">
			//<![CDATA[
			alert('Page.');
			//]]>
		</script>
	</tsn:data>

	<tsn:render file="service.xml" />
</tsn:root>


service.xml:
<?xml version="1.0" encoding="UTF-8"?>
<tsn:root xmlns:tsn="TSN" xmlns="http://www.w3.org/1999/xhtml">
		<tsn:data key="JSBlock" action="prepend">
			<script type="text/javascript" src="&TSN.this.serviceName;.js"> </script>
		</tsn:data>

		<tsn:block name="JS" type="global">
			<tsn:echo data="_data.JSBlock" />
		</tsn:block>

		<tsn:block name="CSS" type="global">
			<link rel="stylesheet" type="text/css" href="service.css" />

			<tsn:if expr="_data.CSSBlock">
				<tsn:echo data="_data.CSSBlock" />
			</tsn:if>
		</tsn:block>

		<tsn:block name="content" type="default">
			Page not found
		</tsn:block>

		<tsn:render file="base.xml" />
</tsn:root>


base.xml:
<?xml version="1.0" encoding="UTF-8"?>
<tsn:root xmlns:tsn="TSN" xmlns="http://www.w3.org/1999/xhtml">
		<tsn:render file="common.xml" />

		<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
		<html>
			<head>
				<tsn:render block="CSS" />
			</head>
			<body>
				<tsn:render block="content" />

				<tsn:render block="JS" />
			</body>
		</html>
</tsn:root>


common.xml:
<?xml version="1.0" encoding="UTF-8"?>
<tsn:root xmlns:tsn="TSN" xmlns="http://www.w3.org/1999/xhtml">
		<tsn:data key="JSBlock" action="prepend">
			<script type="text/javascript" src="common.js" />
		</tsn:data>

		<tsn:block name="content" type="default">
			<tsn:render file="/404.xml" config="({
														cache: false
													})" />
		</tsn:block>
</tsn:root>


Вопрос: глядя на код шаблонов, можно ли, потратив несколько минут, вникнуть в суть происходящего. Прикинуть, что будет на выходе. Без документации.
Дополнительный вопрос: какие моменты показались вам нелогичными/непонятными.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф

Последний раз редактировалось B~Vladi, 14.06.2012 в 13:50.
Ответить с цитированием
  #24 (permalink)  
Старый 13.06.2012, 22:02
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Я понял более-менее, но не понял, зачем нужен элемент data, почему у него такое же значение атрибута key, как и name и элемента-блока, и что означает у него значение атрибута action - prepend.
Ответить с цитированием
  #25 (permalink)  
Старый 13.06.2012, 22:55
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от melky
зачем нужен элемент data
Сохраняет данные в хранилище с ключом key. Тут дока по старой версии.

Сообщение от melky
почему у него такое же значение атрибута key, как и name и элемента-блока
Это просто случайность, блоки и данные не связаны.

Сообщение от melky
что означает у него значение атрибута action - prepend.
Действие, которое нужно сделать с новыми данными, если по такому ключу уже есть какое-то значение в хранилище (доступно как __data в JS-выражениях). Варианты: append, prepend, replace (по-умолчанию). Так понятно?
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф

Последний раз редактировалось B~Vladi, 13.06.2012 в 23:00.
Ответить с цитированием
  #26 (permalink)  
Старый 14.06.2012, 13:31
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Немного подправил пример, что бы не возникало лишних недопониманий.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #27 (permalink)  
Старый 17.06.2012, 14:27
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Вот более полный пример: https://github.com/B-Vladi/TSN/tree/2.4.0/example
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #28 (permalink)  
Старый 21.06.2012, 11:28
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Для тех, кому интересно, предлагаю обсудить API.

Обновленный JSDoc в репозитории: https://github.com/B-Vladi/TSN/tree/2.4.0/jsdoc
Для удобства выложил сюда: http://tsn.amxhost.ru
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #29 (permalink)  
Старый 21.06.2012, 12:55
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

UPD: небольшой upgrade.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #30 (permalink)  
Старый 22.06.2012, 00:50
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Мне тут подкинули идею и я реализовал теги header и status. Хотя раньше это можно было сделать и в JS-выражениях.

Как пиздато самим с собой разговаривать
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция system kilogram Серверные языки и технологии 6 22.03.2012 09:36
Browser : Operating System x-yuri Оффтопик 11 22.02.2012 14:44