Есть ли альтернатива HTML?
Есть ли язык, который я могу использовать для написания моего веб-сайта HTML, который:
- конвертирует в HTML без необходимости непосредственно писать HTML
- обладает всеми возможностями HTML
- менее подробный, чем HTML и XML
Например, это должно быть в HTML, что CoffeeScript для JS.
Кроме того, каков ваш опыт в отношении того, что вы предлагаете?
Также посмотрите Сравнение движков веб-шаблонов и Scala Теги
Ответы
Ответ 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. Сделано в прошлом:)
Ответ 4
В основном вы запрашиваете легкий язык разметки, который можно преобразовать в HTML, популярные/известные примеры включают в себя BBCode, Markdown и Разметка MediaWiki.
Ответ 5
Возможно, вы ищете что-то вроде этого:
http://code.google.com/p/zen-coding/
Хотя я, кажется, вспоминаю, что кто-то уже ответил на этот вопрос некоторое время назад.
Ответ 6
Я знаю, что вопрос старый, но я добрался до него, ища ответы, и я подумал, что обновляю ответы самостоятельно.
Как уже указывалось, вопрос задается главным образом для механизмов шаблонов (не так много языков), поскольку точка генерирует HTML.
Если цель должна соответствовать CodeScript, то CoffeeKup - это путь. Лично, среди тех, что я видел, в поисках терпения, Pug - это тот, который выглядит лучше всего для меня, это сильно под влиянием Haml (принятый и главный ответ) и улучшает его (IMHO) по нескольким аспектам: более кратким, более элегантным и понятным (субъективным, справедливым) и не требует Ruby, поскольку он основан на JavaScript.
Ответ 7
Вы можете попробовать Processing.js.
Вам все равно понадобится оболочка HTML для размещения холста, но вы можете на самом деле закодировать свой сайт с помощью Processing/Java.