zoukankan      html  css  js  c++  java
  • jade模板

    jade 模板使用

    npm install jade -g      安装到全局

    jade index.jade         导出一个 index.html 压缩后的

    jade -P index.jade       导出一个 index.html 没有压缩的

    jade -P -w index.jade     -w  对文件实时编译

    特殊的div

    .container
      
    p 巧巧
      
    a(href='http://baidu.com', title='巧莉', data-uid='100')
       input(name='course', type='text', value='jade')
       input(name='type', type='checkbox' checked)

     

    长文本写法
       p
      
    | qiaoqiaotongxie
      
    | 2.bbc

     

    插入标签
      
    p.
          a qiaoqiaojadjade
          1. aa
          2. bb
          <strong>
    我就是这么叼</strong>
          3. cc
          4. dd
          5. e
          a qiaoqiaojad

      
    p
         
    |  a
         
    a 我是来插入广告的
         
    |  1. aa
         
    |  2. bb
         
    |  3. cc
         
    a 我是一个爱捣乱的标签

     

    注释和条件注释

      单行注释 //

      非缓冲注释 //-

    块注释

     

    h3 单行注释
    // a 巧克力
    p 非缓冲注释
    //- 你是看不到宝宝我的
    h3 块注释
    //
       ul
          li
             a
    也无风雨也无晴
          li
             a
    有花堪折直须折
          li
             a
    锦瑟无端五十弦

    //-
       ul
          li
             a
    也无风雨也无晴
          li
             a
    有花堪折直须折
          li
             a
    锦瑟无端五十弦
     

    IE注释

    doctype html
    html
      
    <!--[if IE 7]><html class='ie7'><! [endif]-->
       <!--[if IE 8]><html class='ie8'><! [endif]-->
       <!--[if IE 9]><html class='ie9'><! [endif]-->
       <!--[if !IE]><!--><html><!--<![endif]-->
     
    如果用全注释 html标签在结尾处是要闭合的
     
    变量
    页面内声明变量
    - var course = 'jade'
    命令行方式变量
    jade index.jade -P -w --obj '{"course":"jade course"}'
    命令行方式外部文件
    jade index.jade -P -w -O index.json
     
    // 网站开发中 通常数据都是从后台程序去调用
    转义
    #{data}
    p= data
    非转义
    !{data}
    p!= data
    p !{htmlData}  输出 !{htmlData}
    p #{htmlData}  输出#{htmlData}
     
    没有数值的变量
    input(value="#{newData}")
    input(value=newData)
     
    <input value="undefined">
    <input>
     
    流程
    -var qiao = {course: 'jade',study:'巧莉',age:24}
     
    for 语法
    -for (var k in qiao)
       p= qiao[k]
     
    each 语法
    -each value, key in qiao
      
    p #{key}: #{value}
     
    each value, key in qiao
      
    p #{key}: #{value}
     
    h3 遍历数组
    -var courses = ['node', 'jade', 'express', 'Ejs', 'cheerio', 'bower']
    -each value, key in courses
      
    p #{key}: #{value}
     
    嵌套循环
    -var sections = [{id:1,items:['a','b']},{id:2,items:['c','d','e','h']}];
    dl
       each
    section in sections.length > 0 ? sections : [{id:0, items: ['none']}]
         
    dt= section.id
         
    each item in section.items
            
    dd= item
     
    嵌套循环
    while循环
    -var n = 0
    ul
      
    while n < 4
          li= n++
     
    if else unless 语法
    - var show = true
    - var lessons = ['jade', 'node'];
    if show
      
    p 显示
      
    if lessons.length > 2
          p #{lessons.join(', ')}
      
    else if lessons.length > 1
          p #{lessons.join('/ ')}
      
    else
          p no lesson
    else
       p no show

    unless 反向的判断

    unless !show
     
    p #{lessons.length}
    unless !lessons.length
      
    p 逗逼 #{lessons.length}

    case 语法
    - var name = 'jade'
    case name
      
    when 'java'
      
    when 'node'
         
    p Hi node !
      
    when 'jade': p Hi jade !
      
    when 'express': p Hi express !
      
    default
          p Hi #{name}
     
     
    mixin的用法
      mixin lesson
         p qiao study jade
      +lesson
      mixin study(name,courses)
         p #{name}
         
    ul#courses.courses
            
    each course in courses
               
    li= course
      +study('巧莉',['jade','node','express','cheerio'])
      +study('苏东坡',['西湖醋鱼', '叫花鸡', '东坡肉'])
     
    mixin team(slogon)
       h4 #{slogon}
      
    if block
          block
      
    else
          p no team
    +team('slogon')
       p Good job!
      
    p 大逗逼
     
    结果
    <h4>slogon</h4>
    <p>Good job!</p>
    <p>大逗逼</p>
     
    h2 单个属性值的情况
     
    mixin attr(name)
        p(class!=attributes.class) #{name}
     
    +attr('attr')(class='magic')
     // != 此处的class是不需要转义的

    h2 多个属性值的情况
     
    mixin attrs(name)
        p&attributes(attributes) #{name}
     
    +attrs('attrs')(class='magic2', id='deep')

     h3 参数不定的情况下
     
    mixin magic(name, ...items)
        ul(class='#{name}')
           each item in items
              li= item
     
    +magic('qiao','逗逼','搞笑的')
     
     
     
  • 相关阅读:
    S5PV210开发板刷机(SD卡uboot、串口+USB-OTG刷机方法)
    S5PV210启动过程分析
    总结:ARM逻辑和高级C(朱老师物联网学习)
    C语言笔记(数组地址一些细节)
    shell脚本和常用命令
    ansible
    firewalld
    LAMP架构上线动态网站WordPress
    LNMP架构上线动态网站
    Tomcat集群 Nginx负载均衡 shell脚本实时监控Nginx
  • 原文地址:https://www.cnblogs.com/chengqiaoli/p/6256994.html
Copyright © 2011-2022 走看看