Jade Template Engine
Aus Wikizone
Version vom 3. Juli 2018, 16:39 Uhr von 37.49.33.174 (Diskussion)
Jade ist eine auf node basierte HTML Template Engine, mit der man vereinfachtes html schreiben kann, das dann on the fly in html übersetzt wird. Damit kann man sehr schnell Code entwickeln. Man kann Jade auch einfach als Tool nehmen um schnell Code zu schreiben
https://t3n.de/news/jade-638027/ https://www.youtube.com/watch?v=l5AXcXAP4r8
Quickstart
Installieren
Node muss vorhanden sein
npm install jade --global
HTML Files erstellen
1. Jade File z.B.
index.jade
doctype html
html(lang="de")
head
meta(charset="utf-8")
title BlackBird Co.
meta(name="description", content="")
meta(name="author", content="")
meta(name="viewport", content="width=device-width, initial-scale=1")
link(rel="stylesheet", href="css/style.css")
link(rel="icon", type="image/png", href="images/favicon.png")
body
header.bird-box
.back-bird
...
2. Den Watcher im Verzeichnis starten:
jade -w .
Jedesmal wenn das .jade File gespeichert wird, wird auch ein html File generiert.
Wichtige Befehle
File kompilieren
jade myFile.jade
Includes
head.jade
head title Meine Seite script(src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js')
index.jade
doctype html include ./head.jade body
Textblöcke
div
p Erster Absatz
p
| Mit HTML
br
| dazu Pipe nehmen
p.
Mit Puhkt gehen auch <strong>HTML Tags</strong>
p(id="myID",class="myClass").
So gehen Attribute
#2nd_div.lorem_ipsum.important
So kann man schnell Divs mit ID und Klassen erzeugen
ul
li#listelement
a(href='#') Steff
ul
li#anderesListElement: a(href="#") Superman
li#anderesListElement: a(href="#") Batman
//- Kommentar -> im HTML nicht sichtbar
// Kommentar -> im HTML sichtbar
Variable, Mixins...
- myName = "Steff"
p Hello #{myName}
p 12 * 34 = #{12 * 34}
- website = "http://stephanschlegel.de"
a(href="#{website}) Meine Webseite
- heroes = ['Wonder Woman','Supergirl','Flash']
ul
li#heroes: #{heroes[0]}
li#heroes: #{heroes[1]}
Attribute
p(id="1st",class="blue"). blablabla
Command Line
Command Line
$ jade [options] [dir|file ...] Options:
-h, --help output usage information
-V, --version output the version number
-O, --obj <path|str> JavaScript options object or JSON file containing it
-o, --out <dir> output the compiled html to <dir>
-p, --path <path> filename used to resolve includes
-P, --pretty compile pretty html output
-c, --client compile function for client-side runtime.js
-n, --name <str> the name of the compiled template (requires --client)
-D, --no-debug compile without debugging (smaller functions)
-w, --watch watch files for changes and automatically re-render
-E, --extension <ext> specify the output file extension
--name-after-file name the template after the last section of the file path
(requires --client and overriden by --name)
--doctype <str> specify the doctype on the command line (useful if it
is not specified by the template) Examples Translate jade the templates dir:
$ jade templates
Create {foo,bar}.html
$ jade {foo,bar}.jade
Jade over stdio
$ jade < my.jade > my.html
Jade over stdio
$ echo "h1 Jade!" | jade
foo, bar dirs rendering to /tmp
$ jade foo bar --out /tmp