Шаблонизатор на JS, разбор выражений

 
0
 
JavaScript
ava
Sardar | 14.11.2004, 18:24
Посмотрел я этото топик: http://forum.vingrad.ru/index.php?showtopic=32780&st=45
Идея понравилась, только писать отдельный скрипт для каждого раздела не хоечется, а хочется повыделыватся и сделать всё через пятую точку :D

В итоге родился шаблонизатор. Скрипт читает шаблон, выбирает значения из текстовых полей и формирует конечный документ.
Мне нравится что в шаблонизаторе нет встроенных ключевых слов и прочих "не умных" примочек. Шаблонизатор полностью настраиваемый и расширяемый своими коммандами.

Зацениваем здесь: http://files.vingrad.ru/Sardar/Templater/faqFrom.htm

Релизованны всего две комманды: if - обьяснять не нужно smile, split - делит содержимое через запятую(default) или заданной функцией, формирует масив строк и прокручивает свое содержимое с вычисленным массивом строк - нужно для деления полей имя/имеил.

Команд можно писать сколь угодно, на все случаи жизни. Если идея понравится, доведу скрипт до ума. Можно сделать компилер выдающий готовое дерево, тогда не требуется код парсера, что сильно уменьшит в размерах скрипт.

В коде хороший на мой взгляд пример работы с регулярными выражениями и организацией кода.

На текущий момент замеченны проблемы:
  • в Опере какая то лажа с массивами, не работает правильно стек
  • FireFox 1.0 не PR, выдает ошибку

    Error: uncaught exception: [Exception... "Component returned failure code: 0x80040154 (NS_ERROR_FACTORY_NOT_REGISTERED) [nsIWebNavigation.loadURI]" nsresult: "0x80040154 (NS_ERROR_FACTORY_NOT_REGISTERED)" location: "JS frame :: chrome://global/content/bindings/browser.xml :: loadURIWithFlags :: line 159" data: no]

    Не понятна причина сей гючности лисы... :bored В других версиях все работает как надо.
Kommentare (6)
ava
Aliance | 16.11.2004, 18:38 #
Прикольно, внешний вид мне понравился =)
ava
Alx | 16.11.2004, 19:14 #
Цитата (Aliance @ 16.11.2004, 18:38)
Прикольно, внешний вид мне понравился =)

:rolleyes
ava
Alx | 16.11.2004, 19:31 #
а сам скрипт действительно неплохой. smile респект smile
ava
Sardar | 17.11.2004, 01:00 #
Цитата (Aliance @ 16.11.2004, 17:38)
Прикольно, внешний вид мне понравился =)

Layout by [b]ALEXANDRO[/b] :)

Кому интересно поэкспериментируйте с шаблоном. В JS шаблонизатор конечно не нужен, но код легко портируется в PHP(есть буфферизация, что вообще дает мощные возможности). Надеюсьтогда не будет глупых шаблонизаторов, имеющих встроенный ограниченный набор команд, такая фича напоминает псевдо PHP.

Если будет реакция со стороны Admin'a, то можно поставить скрипт сюда, для быструх ответов и прочих шаблонов документов.
ava
Aliance | 17.11.2004, 14:37 #
Кстати, там одно поле не названо, из-за этого возникают заминки...
Мне кажеться туда нужно писать непосредственно код, но все же не ясно...
Исправте...
ava
Sardar | 17.11.2004, 16:54 #
И какое там поле не названно? Впрочем это не важно, т.к. если на это поле нет ссылки в шаблоне, оно опрашиватся не будет.
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
  Sardar   Alx ava  Aliance
advanced
Absenden