Любой клиент хамл парсер? - PullRequest
       1

Любой клиент хамл парсер?

11 голосов
/ 13 декабря 2011

Я хочу отобразить мой код haml на стороне клиента, используя JavaScript.Есть хорошие парсеры хамла на стороне сервера, такие как Jade или haml.js , но я не знаю парсера / декодера хамла на стороне клиента.

Обновление: Jade , в значительной степени хамл, теперь поддерживает клиентскую сторону.

1 Ответ

8 голосов
/ 13 декабря 2011

После некоторого поиска я нашел проект github "client-side-haml-js" .Похоже, он должен соответствовать вашим потребностям:

clientide-haml-js - это компилятор, написанный на CoffeeScript, который компилирует текстовые шаблоны в формате HAML в функции Javascript, которые генерируют HTML.Он был вдохновлен проектом Javascript серверной части haml и был написан так, чтобы быть совместимым с HAML на стороне сервера Ruby, поддерживает все основные браузеры (IE 7+, Firefox 3.6+, Chrome 10+, Safari), имеет минимальные зависимости времени выполнения(только underscore.js, underscore.string и CoffeeScript при использовании CoffeeScript в ваших шаблонах).

ПРИМЕЧАНИЕ. Для компилятора haml требуется браузер с анализатором JSON.Для браузеров, таких как IE7, вам также необходимо включить реализацию JSON.См. http://www.json.org/ для более подробной информации.Реализация JSON доступна по адресу https://github.com/douglascrockford/JSON-js.

Пример со страницы github:

var fn = haml.compileStringToJs("%h1\n  %div\n    %p\n    %span");
var html = fn();

Похоже, она также поддерживает метод text / haml-template, аналогичный jquery-templates:

<script type="text/haml-template" id="simple">
%h1
  %div
    %p
    %span
</script>

<script type="text/javascript">
    var fn = haml.compileHaml('simple');
    var html = fn();
</script>
...