Pug简单说明

  • -开始一段不直接进行输出的代码
    - var authenticated = true
    body(class=authenticated ? 'authed' : 'anon')
    
    <body class="authed"></body>
    
  • =开始一段带有输出的代码,可以被求值的一个JavaScript表达式
    div(escaped="<code>")
    
    <div escaped="&lt;code&gt;"></div>
    
  • !=开始一段不转义的、带有输出的代码
    div(escaped!="<code>")
    
    <div escaped="<code>"></div>
    
  • //注释代码会转换到HTML中
    // 一些内容
    p foo
    p bar
    
    <!-- 一些内容-->
    <p>foo</p>
    <p>bar</p>
    
  • //-注释代码不会转换到HTML中
    //- 这行不会出现在结果里
    p foo
    p bar
    
    <p>foo</p>
    <p>bar</p>
    
  • #{}在字符串里面使用变量和函数字符串嵌入转义
  • !{}在字符串里面使用变量和函数字符串嵌入不转义
    - var friends = 10
    p 您有 #{friends} 个朋友
    
    <p>您有 10 个朋友</p>
    
  • #[]将 Pug 的标签语句包起来实现转换
  • 条件注释是一种用于分辨 Internet Explorer 新老版本的特殊标记。
  • 分支条件 case ... when ... default ...
    - var friends = 10
    case friends
      when 0
        p 您没有朋友
      when 1
        p 您有一个朋友
      default
        p 您有 #{friends} 个朋友
    
    <p>您有 10 个朋友</p>
    
  • 条件判断 if ... else if ... else
  • include pugFilename功能允许您把另外的文件内容插入进来
  • blockextends 关键字进行模板的继承
    //- layout.pug
    html
      head
        title 我的站点 - #{title}
        block scripts
          script(src='/jquery.js')
      body
        block content
        block foot
          #footer
            p 一些页脚的内容
    
    //- page-a.pug
    extends layout.pug
    
    block scripts
      script(src='/jquery.js')
      script(src='/pets.js')
    
    block content
      h1= title
      - var pets = ['猫', '狗']
      each petName in pets
        include pet.pug
    
  • 块内容的添补 append / prepend
    //- layout.pug
    html
      head
        block head
          script(src='/vendor/jquery.js')
          script(src='/vendor/caustic.js')
      body
        block content
    
    • prepend 向头部添加内容一个块

    • append 向尾部添加内容一个块

      //- page.pug
      extends layout.pug
      
      block append head
        script(src='/vendor/three.js')
        script(src='/game.js')
      
  • 迭代方式: each ... in ...while
  • 混入mixin是一种允许您在 Pug 中重复使用一整个代码块的方法
    mixin pet(name)
      li.pet= name
    ul
      +pet('猫')
      +pet('狗')
      +pet('猪')
    
    <ul>
      <li class="pet"></li>
      <li class="pet"></li>
      <li class="pet"></li>
    </ul>
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hjhcos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值