Разработано | Хэмптон Кэтлин |
---|---|
Расширения имени файла | .ts |
Веб-сайт | тритий.io |
Под влиянием | |
XSLT , Sass (язык таблиц стилей) |
Tritium — это простой язык сценариев для эффективного преобразования структурированных данных, таких как HTML , XML и JSON . Он схож по своему назначению с XSLT, но имеет синтаксис, на который повлияли jQuery , Sass и CSS, в отличие от синтаксиса XSLT, основанного на XML.
Tritium был разработан Хэмптоном Кэтлином, создателем языков Sass и Haml , и в настоящее время входит в состав мобильной платформы Moovweb . [1]
Как и в случае с Sass (созданным для устранения недостатков в CSS) и Haml (созданным для устранения недостатков в кодировании HTML-шаблонов), Кэтлин разработал Tritium для решения проблем, которые он видел в XSLT, сохраняя при этом основные преимущества языка трансформации. Большая часть этого была основана на его предыдущем опыте портирования десктопного сайта Википедии в мобильный веб. [2]
Open Tritium [3] — это реализация языка Tritium с открытым исходным кодом. Она была представлена на O'Reilly Open Source Convention 2014 [4] , а компилятор реализован на Go .
Tritium принимает в качестве входных данных документы HTML, XML или JSON и выводит данные HTML, XML или JSON, преобразованные в соответствии с правилами, определенными в скрипте Tritium. Как и jQuery, идиоматический код Tritium структурирован вокруг выбора коллекции элементов с помощью селектора CSS или XPath , а затем связывает ряд операций над ними. [5]
Например, следующий скрипт выберет все элементы таблицы HTML с атрибутом id
of foo
и изменит их width
атрибуты на 100%
.
# Выберите все узлы HTML, которые являются элементами таблицы с идентификатором foo.# Функция $$() принимает обычный селектор CSS $$ ( “table#foo” ) { # изменить атрибуты ширины на атрибут “100%” ( “width”, “100%” ) }
Хотя Tritium поддерживает селекторы XPath и CSS через функции $()
и $$()
(соответственно), предпочтительным является использование XPath. Например, приведенный выше код, переписанный для использования эквивалентного селектора XPath, будет выглядеть так:
# Выберите все узлы HTML, которые являются элементами таблицы с идентификатором foo.# $() использует XPath $( “//table [ @id = 'foo' ] ” ) { # изменить атрибуты ширины на “100%” attribute ( “width”, “100%” ) }
И Tritium, и XSLT предназначены для преобразования данных. Однако Tritium отличается в ключевых аспектах, чтобы сделать его более знакомым и простым в использовании для веб-разработчиков: [6]