1. 首頁
  2. »
  3. 網頁開發
  4. »
  5. 網頁設計
  6. »
  7. JADE基本使用教學:規則、文字、繼承、匯入、函式寫法

JADE基本使用教學:規則、文字、繼承、匯入、函式寫法

2015/11/02

梅問題-JADE基本使用教學:規則、文字、繼承、匯入、函式寫法

  先前已分享過Jade的編譯工具,以及讓Sublime Text也可撰寫Jade,但應該有不少朋友,還是不太明白Jade 到底是啥東東,以及要如何撰寫Jade,所以梅干就整理了一下,平常所用到的Jade功能與大家來分享,其實Jade html本身提供了許多的功能,就跟SCSS一樣,也有繼承、匯入、函式..甚至也有for迴圈與if判斷式,最大差別則在於SCSS寫完編譯後是CSS,而Jade編譯完畢後,則是變成html,透過Jade html可快速的開發網頁的版型,甚至還有繼承模版的功能,這對於平常在製作靜態頁面的朋友,會到相當的方便,因此接下來梅干就一一的來跟大家分享,Jade常用的基本寫法,因此身為網設的朋友,也一塊來看看囉!


Jade基本規則:
Jade的基本規則寫法很簡單,只要向後退一格,就表示該標籤則是在它的下層,基本上它看起來就像是一個樹狀結構,同時只需寫起始標籤就好,當經由編譯工具後,就會自動將標籤給包覆起來,因此以下是簡單的小示範。

basic.jade

doctype html
html
  head
    title helloJade
  body
    h1 Jade Basic
    p 這是Jade基本寫法

basic.html

<!DOCTYPE html>
<html>
  <head>
    <title>helloJade</title>
  </head>
  <body>
    <h1>Jade Basic</h1>
    <p>這是Jade基本寫法</p>
  </body>
</html>

Jade文字(Plain Text):
在Jade中,當要輸入文字時,共有三種方式。

txt-1.jade

第一種寫法:直接在標籤後方加入空一格後,加入文字。

p 這是Jade基本寫法

txt-1.html

<p>這是Jade基本寫法</p>

第二種寫法:在標籤斷行後方加入|。

txt-2.jade

p
 | 這是Jade基本寫法

txt-2.html

<p>這是Jade基本寫法</p>

第三種寫法:在標籤後方加入.,這種通常運用於多行文字時使用。

txt-3.jade

p.
   這是Jade基本寫法
   支援多行文字
   就不用一直加入|

txt-3.html

<p>這是Jade基本寫法支援多行文字就不用一直加入|</p>

Jade繼承(Extends):
光聽繼承這二字應該完全感受不到它是啥東東,其實它就像Dreamweaver網頁模版的概念,透過已製作好的模版後,再針對活動內容加以修改裡面的元素,如此一來就能讓網頁版型重覆再利用,同時可加快網頁的製作時間。

在製作模版時,當可替換的元素,則用block標示。
tpl.jade

doctype html
html
  head
    block webtitle
      title 無標題
  body
    block h1title
      h1 梅問題講堂
    block postcontent
      div 內容

使用已製作模版,當要引用時,則用extends,並指向佈景名稱,要替換元素時,一樣用block,就可將剛所設定的區塊給替換所需的內容,當不輸入時,就會依照版型的預設值。
extends.jade

extends ./tpl.jade
block webtitle
  title 梅問題講堂
block postcontent
  div.container
    | 內容

extends.html

<!DOCTYPE html>
<html>
  <head>
    <title>梅問題講堂</title>
  </head>
  <body>
    <h1>梅問題講堂</h1>
    <div class=“container”>內容</div>
  </body>
</html>

Jade匯入(Includes):
匯入這功能,就像一般的php或是apsx一樣,可以將內容直接匯入進來,就像拷貝貼上一樣,而這以前大部分都用iframe來製作,但現有了匯入後,就能將版型拆成多隻後,再把它合併起來,因此當要修改時就更方便了。

head.jade

head
    meta(chartset=‘utf-8’)
    meta(name=‘description’,content=‘梅問題講堂’)
    link(href=‘style.css’,rel=‘stylesheet’)
    title jade includes

footer.jade

#footer
    p copyright © 2014-10-31

include.jade

doctype html
html
    body
        header 梅問題
        #content 內容
        include ./footer.jade

include.html

<html>
  <head>
    <meta chartset=“utf-8”>
    <meta name=“description” content=“梅問題講堂”>
    <link href=“style.css” rel=“stylesheet”>
    <title>jade includes</title>
  </head>
  <body>
    <header>梅問題</header>
    <div id=“content”>內容</div>
    <div id=“footer”>
      <p>copyright © 2014-10-31</p>
    </div>
  </body>
</html>

Jade函式(Mixins):
而Jade的函式,就跟SCSS一樣,當函式裡面寫了什麼內容,Jade函式則是完整的將內容給列出來,使用上也相當的簡單。

mixins.jade

mixin link(url,linkname,linkclass)
    a(href=url,class=linkclass)=linkname
+link(‘http://minwt.com','梅問題','btn')
+link(‘http://google.com','google','btn')

mixins.html

<a href="http://minwt.com" class="btn">梅問題</a>
<a href="http://google.com" class="btn">google</a>

  以上這五大類,是在製作版型中,常會使用到Jade的功能,而最讓梅干感覺到方便的是,它的繼承跟匯入的功能,只要善用這二組功能,就等於在製作一個小型的網站,當按下儲存的同時,所有的文件都會編譯過一次,立即就有更新所有的內容,相當的方便,因此有興趣的朋友不妨也可試試看,有任何問題也歡迎隨時討論。