2011-07-07 19 views
24

Czy istnieje język można używać do pisania kodu HTML mojej witryny, które:Czy istnieje alternatywa dla HTML?

  • konwertuje do formatu HTML bez konieczności pisania kodu HTML bezpośrednio
  • została cała moc HTML
  • jest mniej gadatliwe niż HTML i XML

Na przykład powinno być HTML, co CoffeeScript jest do JS.

Jakie jest twoje doświadczenie z tym, co sugerujesz?

Również spojrzeć na Comparison of web template engines i Scala Tags

+1

Ogólna odpowiedź na to pytanie to "szablon". Dla ogromnej listy, która porównuje je na bazie funkcji, zobacz [tę stronę wikipedii] (http://en.wikipedia.org/wiki/Comparison_of_web_template_engines) – MarioDS

Odpowiedz

24

Dobry wybór to Haml. W Haml piszemy wysoce uporządkowane znaczniki, które przypominają uproszczoną formę HTML i gdzie zwykłe rzeczy mają łatwe skróty. Na przykład dodanie elementu, div, , lub class odbywa się po prostu przez zmianę jednego znaku.

Pozwala nawet przekazywać zmienne i operować na nich w wybranym języku, odkładając na język skryptowy, dzięki czemu jest on skuteczniejszy niż HTML, ponieważ niejawny skrypt sprawia, że ​​Turing-complete.

Oto przykład:

%body 
    #header 
     %h1 Bob Loblaw's 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. 

To staje się czymś w rodzaju:

<div id='header'> 
    <h1>Bob Loblaw's 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> 
+1

Sprawdź również SHPAML http://shpaml.webfactional.com/tutorial/1 – TomHarrigan

+1

+5 dla odniesienia Bob Loblaw –

6

Można zdefiniować swoją stronę jako XML przy użyciu własnego formatu niestandardowego, a następnie przekonwertować do formatu HTML za pomocą XSLT. Sporządzono go w przeszłości :)

+9

Powiedział * mniej * verbose niż HTML/XML. – jwodder

+0

XML jest tak szczegółowy, jak tego chcesz. To tylko tagi. Najtrudniejszą częścią jest właśnie napisanie XSLT, ale musisz zrobić to tylko raz. Następnie generujesz swoją witrynę z XML i przesłać. –

+0

Właśnie zaktualizowałem przyczynę tej odpowiedzi na pytanie: D – axaluss

1

Możesz spróbować Processing.js. Wciąż będziesz potrzebować powłoki HTML do obsługi płótna, ale możesz faktycznie zakodować swoją witrynę za pomocą Processing/Java.

9

Przyjaciel i ja właśnie rozpoczął Layx: nowy język układu opartego na Cassowary, ograniczenie rozwiązywaniu Toolkit, że Apple jest używając ich interfejsów użytkownika. Teraz jest tylko dla sieci, ale będzie wieloplatformowy - przenośny - kiedyś.

Został zaprojektowany tak, aby był wyjątkowo prosty i łatwy (jak pyton), a na żądanie, kompiluje wewnętrznie do HTML, dynamicznie, ponieważ interfejs musi zostać zaktualizowany, jeśli konieczne jest przeniesienie lub zmiana rozmiaru warstw.

To naprawdę nowy projekt - wersja alfa - więc spróbuj go o tym wiedzieć.strona

Projekt: http://www.layx.org/

demo online: http://www.layx.org/demo/

Open Source repozytorium: http://github.com/layxlang/layx

Mam nadzieję, że to pomaga i sprzężenie zwrotne jest zawsze mile widziane!

Pozdrowienia

EDIT (08 stycznia 2015): Otwórz link źródło dodaje

EDIT (15 stycznia 2015): link Demo Dodano

3

Wiem, że pytanie jest stary ale doszedłem do tego, szukając odpowiedzi i pomyślałem, że zaktualizuję odpowiedzi własnymi.

Jak już wskazano, pytanie dotyczy głównie template engines (nie tyle języków), jak punkt generowania HTML.

Jeśli celem jest być zgodnym z CoffeeScript, to droga do pracy to CoffeeKup. Osobiście, wśród tych, które widziałem, w poszukiwaniu zwięzłości, Pug jest tym, który wygląda najlepiej dla mnie, jest pod silnym wpływem Hamla (akceptowana i najlepsza odpowiedź) i poprawia go (IMHO) w kilku aspektach: więcej zwięzłe, bardziej eleganckie i jasne (subiektywne, wystarczająco jasne) i nie wymaga Ruby, ponieważ jest oparte na JavaScript.

Powiązane problemy