jade 제이드 / 제이드 사용하기
Jade 예제
한창 jade 를 사용중이다. jade 에서는 javascript code 를 사용해서 template 을 만들 수도 있는데, 뭔가 document 가 명확치 않아서 삽질을 하게 된다. 그래서 내가 작성한 template 를 몇개 올려 놓는다.
for 문 사용 예제
// usage
+youAreHere(parent.title+','+parent.url+','+parent.i18n, page.title+','+page.url+','+page.i18n)
// mixin
mixin youAreHere()
// youAreHere
- var args = Array.prototype.slice.call(arguments)
- var len = args.length
- var i = 0
ul.breadcrumb.breadcrumb-page
.breadcrumb-label.text-light-gray You are here:
li
a(href='#') Home
- // 0 : text, 1 : link, 2 : i18n-text
- for (; i < len - 1; ++i){
- var textlink = String(args[i]).split(',')
li
a(href=textlink[1] data-i18n=textlink[2])= textlink[0]
- }
- var textlink = String(args[i]).split(',')
li
a(href=textlink[1])= textlink[0]
// /youAreHere
if 문 사용예제
if 문 사용법은 좀 특이하다. 아래서는 jade 의 if 를 사용했다. javascript 의 if 와 jade 의 문법을 섞어서 사용하는 것은 error 를 뿜어낸다. 그래서 '?' operator 이외에는 잘 사용을 못하고 있다.
// mixin
mixin datatable(options)
- var ths = options.ths
.table-primary
// .table-responsive
table.table(id=options.id, cellpadding="0", cellspacing="0", border="0", width="100%")&attributes({class : options.tableClass})
thead
tr
- for (k in ths){
- var v = ths[k];
if v.i18n
th(data-i18n=v.i18n)= String(v.text)
else
th= String(v.text)
- }
extends
extends 의 사용에서 주의할 점은 space 가 2개가 들어가야 한다는 것이다.
extends(space)./layout.jade
이런 형식이 아니라, space 가 2개 들어간다.
extends(space)(space)./layout.jade
space 가 1개 들어가면 extends 를 tag 로 인식해 버린다.
See Also
- 여름으로 가는 문 - [메뉴얼] Jade - 템플릿 엔진 for Node.js
댓글 없음:
댓글 쓰기