Подтвердить что ты не робот

Есть ли альтернатива HTML?

Есть ли язык, который я могу использовать для написания моего веб-сайта HTML, который:

  • конвертирует в HTML без необходимости непосредственно писать HTML
  • обладает всеми возможностями HTML
  • менее подробный, чем HTML и XML

Например, это должно быть в HTML, что CoffeeScript для JS.

Кроме того, каков ваш опыт в отношении того, что вы предлагаете?

Также посмотрите Сравнение движков веб-шаблонов и Scala Теги

4b9b3361

Ответ 1

Хороший выбор Haml. В Haml вы пишете высокоструктурированную разметку, похожую на укороченную форму HTML, и там, где простые вещи имеют простые ярлыки. Например, добавление элемента div, id или class выполняется только путем изменения одного символа.

Он даже позволяет передавать переменные и работать с ними на выбранном вами языке, откладывая язык сценариев, поэтому он на самом деле более мощный, чем HTML, поскольку неявный скриптинг делает его завершенным.

Вот пример:

  %body
    #header
      %h1 Bob Loblaw Law Blog
      %h2 by Bob Loblaw
    #content
      - @entries.each do |entry|
        .entry
          %h3.title= entry.title
          %p.date= entry.posted
    #footer
      %p
        All content copyright © Bob Loblaw.

Это станет чем-то вроде:

<div id='header'>
  <h1>Bob Loblaw Law Blog</h1>
  <h2>by Bob Loblaw</h2>
</div>
<div id='content'>
  <div class='entry'>
    <h3 class='title'>You don't need double-talk; you need Bob Loblaw</h3>
    <p class='date'>Tuesday, October 31, 2006</p>
  </div>
  <div class='entry'>
    <h3 class='title'>Why should you go to jail for a crime someone else noticed?</h3>
    <p class='date'>Friday, August 11, 2006</p>
  </div>
</div>
<div id='footer'>
  <p>
    All content copyright © Bob Loblaw.
  </p>
</div>

Ответ 2

Друг и я только что начали Layx: новый язык макета, основанный на Cassowary, инструментарий для решения ограничений, который Apple использует для своих пользовательских интерфейсов. Это только для Интернета сейчас, но он будет мультиплатформенным - мобильным изначально - когда-нибудь.

Он разработан, чтобы быть предельно простым и легким (например, python), и, как его просили, он динамически компилируется в HTML, так как интерфейс должен быть обновлен, если слои должны быть перемещены или изменены.

Это действительно новый проект-альфа-версия, поэтому попробуйте, зная это.

Веб-сайт проекта: http://www.layx.org/

Демо-версия онлайн: http://www.layx.org/demo/

Репозиторий с открытым исходным кодом: http://github.com/layxlang/layx

Я надеюсь, что это поможет, и обратная связь всегда приветствуется!

Привет

EDIT (8 января, 2015): добавлена ​​ссылка с открытым исходным кодом

EDIT (15 января, 2015): добавлена ​​ссылка для демонстрации

Ответ 3

Вы можете определить свой сайт как XML, используя свой собственный формат, а затем конвертировать в HTML с помощью XSLT. Сделано в прошлом:)

Ответ 5

Возможно, вы ищете что-то вроде этого:

http://code.google.com/p/zen-coding/

Хотя я, кажется, вспоминаю, что кто-то уже ответил на этот вопрос некоторое время назад.

Ответ 6

Я знаю, что вопрос старый, но я добрался до него, ища ответы, и я подумал, что обновляю ответы самостоятельно.

Как уже указывалось, вопрос задается главным образом для механизмов шаблонов (не так много языков), поскольку точка генерирует HTML.

Если цель должна соответствовать CodeScript, то CoffeeKup - это путь. Лично, среди тех, что я видел, в поисках терпения, Pug - это тот, который выглядит лучше всего для меня, это сильно под влиянием Haml (принятый и главный ответ) и улучшает его (IMHO) по нескольким аспектам: более кратким, более элегантным и понятным (субъективным, справедливым) и не требует Ruby, поскольку он основан на JavaScript.

Ответ 7

Вы можете попробовать Processing.js. Вам все равно понадобится оболочка HTML для размещения холста, но вы можете на самом деле закодировать свой сайт с помощью Processing/Java.