js pug 代碼_pug模版學習(一)

標簽

按照html的縮進格式

doctype html

html

head

title

body

編譯結果:

文本

p 這是文本

| 這是文本

p.

這是文本

編譯結果:

這是文本

這是文本

這是文本

屬性

設置class名跟id名(默認是div)

p.foo

p#foo

p#foo.foo

.foo

#foo

編譯結果:

其他屬性:

a(href="google.com") google

- var foo = true

p(class=foo ? "authed" : "anon")

input(

type="checkbox"

name="agreement"

checked

)

div(data-bar="foo")&attributes({"data-foo": "bar"})

- var attr = {}

- attr.class = "baz"

div(data-bar="foo")&attributes(attr)

編譯結果:

google

注釋

// 行注釋

//- 編譯后不會顯示出來

//

塊注釋

case語句

- var num = 3

case num

when 0

p 這是0

when 1

- break

when 3

p 這是#{num}

編譯結果:

這是3

循環

ul

- var n = 0

while n < 4

li= n++

ul

- for (var x = 0; x < 3; x++)

li item

ol

- var list = [1,2,3,4,5,6]

each item in list

li= item

編譯結果:

  • 0
  • 1
  • 2
  • 3
  • item
  • item
  • item
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6

條件語句

- var user = {foo: "this is foo"}

- var bar = baz

#user

if user.foo

h2.green foo

p.foo= user.foo

else if bar

h2.blue foo

p.foo.

User has no foo

else

h2.red foo

p.foo user has no foo

unless user.isFoo

p 等同于:if !user.Foo

編譯結果:

foo

this is foo

等同于:if !user.Foo

mixin 創建重用的代碼

mixin list

ul

li foo

li bar

li baz

+list

+list

編譯以后:

  • foo
  • bar
  • baz
  • foo
  • bar
  • baz

mixin支持傳參

mixin article(title)

.article

.article-wrapper

h3= title

if block

block

else

p NO content provided

+article("Hello worle")

+article("hello pug")

p This is my

p Amazing article

編譯結果:

Hello worle

NO content provided

hello pug

This is my

Amazing article

還有:

mixin link(href, name)

a(class!=attributes.class href=href)= name

+link("/foo", "foo")(class="btn")

編譯結果:

foo

未知參數:

mixin list(id, ...items)

ul(id=id)

each item in items

li= item

+list("my-list",1,2,3,4)

編譯結果:

  • 1
  • 2
  • 3
  • 4

Extends 擴展

允許模板來擴展一個布局或父模板,它可以覆蓋某些預定義內容塊。

//- index.pug

extends layout.pug

block title

title Article Title

block content

h1 My Article

//- layout.pug

doctype html

html

head

block title

title Default title

body

block content

編譯結果:

Article Title

My Article

Includes

允許將一個pug文件的內容插入到另一個文件。

在要插入的位置:include 文件地址

//- index.pug

doctype html

html

include includes/head.pug

body

h1 My Site

p Welcome to my super lame site.

include includes/foot.pug

//- includes/head.pug

head

title My Site

script(src='/javascripts/jquery.js')

script(src='/javascripts/app.js')

//- includes/foot.pug

footer#footer

p Copyright (c) foobar

編譯結果:

My Site

My Site

Welcome to my super lame site.

Copyright (c) foobar

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/287460.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/287460.shtml
英文地址,請注明出處:http://en.pswp.cn/news/287460.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Upgrade Hole puncher Mathematical Modeling

// AntColony.cpp : 定義控制臺應用程序的入口點。 //#include<iostream> #include<math.h> #include<time.h> #include<stdio.h> #include <fstream> #include <string> #include <iostream> #include <vector>using n…

Android之提示Cannot call this method while RecyclerView is computing a layout or scrolling

1 問題 java.lang.IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling androidx.recyclerview.widget.RecyclerView{24d6f3b VFED.V... ......ID 0,657-1074,1911 #7f090143 app:id/recyclerView}, adapter:com.appsinno…

Java8新的異步編程方式 CompletableFuture(三)

前面兩篇文章已經整理了CompletableFuture大部分的特性&#xff0c;本文會整理完CompletableFuture余下的特性&#xff0c;以及將它跟RxJava進行比較。 3.6 Either Either 表示的是兩個CompletableFuture&#xff0c;當其中任意一個CompletableFuture計算完成的時候就會執行。 …

情人節,我表白了CSDN小姐姐后,竟然...【為表白寫了一個繪圖工具,讓我不再手殘】

情人節&#xff0c;我表白了CSDN小姐姐后&#xff0c;竟然…竟然有人看了這篇文。 以下圖片素材由一個還沒寫完的工具繪制&#xff0c;稍后會放在CSDN的代碼倉庫&#xff08;現在能用了&#xff0c;還沒時間改&#xff0c;顏色填充算法還沒寫&#xff0c;有能力的朋友可以修改一…

【小程序】劉一哥課堂隨機點名提問神器V1.0(附源程序)

為了能讓我們的孩子們盡量來教室上課,增強課堂的參與度,激發課堂激情,提高學習效率,一哥也是煞費苦心,于是開發出了這么一款課堂點名提問神器,跟大家分享一下。 打開神器,看到的界面是這樣子的,我很感激有勇氣按時起床并能到教室的每一位有志之士。 點擊【開始】按鈕,…

org.hibernate.HibernateException: No Session found for current thread

spring、springmvc和hibernate整合 在sessionFactory.getCurrentSession()時&#xff0c;出現以下異常 No Session found for current thread但使用sessionFactory.openSession()是沒有任何問題的 嚴重: Servlet.service() for servlet [springDispatcherServlet] in context w…

java mysbatis select_MyBatis SELECT基本查詢實現方法詳解

1、返回一個LISTselect * from tbl_employee where last_name like #{lastName}2、將查詢記錄封裝為一個Mapselect * from tbl_employee where id#{id}返回一條記錄的map&#xff1b;key就是列名&#xff0c;值就是對應的值。3、多條記錄封裝為一個mapMapKey("id")pu…

Git之怎么通過命令修改前面幾次提交的記錄

1 問題 我們平時用gitlab,github發現提交代碼上庫記錄寫錯了&#xff0c;需要修改回來。 2 解決辦法

Git客戶端TortoiseGit(Windows系統)的使用方法

本文環境&#xff1a; 操作系統&#xff1a;Windows XP SP3 Git客戶端&#xff1a;TortoiseGit-1.8.8.0-32bit 一、安裝Git客戶端 全部安裝均采用默認&#xff01; 1. 安裝支撐軟件 msysgit: https://code.google.com/p/msysgit/downloads/list?qfullinstallerofficialgit 當前…

.Net 在容器中操作宿主機

1方案描述 在 docker 容器中想操作宿主機&#xff0c;一般會使用 ssh 的方式&#xff0c;然后 .Net 通過執行遠程 ssh 指令來操作宿主機。本文將使用 交互式 .Net 容器版 中提供的鏡像演示 .Net 在容器中如何操作宿主機。2前期準備 1. 宿主機上生成 ssh key生成 ss…

【看動漫學編程】程序員在異世界生個娃 第1篇:太極村

前言 作者文筆比較水&#xff0c;還請見諒。 以下內容還將使用視頻動態漫畫表現&#xff0c;剪輯完將會貼出鏈接。 小說劇情為劇情需要&#xff0c;過渡到知識點&#xff0c;部分篇幅可能沒有技術知識點還望諒解。 由于沒有經費支持&#xff0c;所以畫出來的東西是我自己用代碼…

【ArcGIS風暴】最牛逼空間數據批處理神器來了:用戶自定義工具箱GeoStorm.tbx

【Warming up】在學習和工作的過程中,作者曾寫過很多采用ArcGIS模型構建器(Model Builder)、Python代碼等批處理方法(感興趣的GISers可以去【測繪地理信息Big風暴專】欄去交流學習指導),大大的減輕了操作壓力,提高了工作效率。今天給大家展示一款神器:自定義工具箱GeoS…

2.6. PostgreSQL表之間連接

到目前為止&#xff0c;我們的查詢一次只訪問了一個表。查詢可以一次訪問多個表&#xff0c;或者用某種方式訪問一個表&#xff0c;而同時處理該表的多個行。一個同時訪問同一個或者不同表的多個行的查詢叫連接查詢。舉例來說&#xff0c;比如你想列出所有天氣記錄以及這些記錄…

Android之Caused by: java.lang.IllegalArgumentException: Failed to find configured root that contains

1 問題 用takePhoto去照相的時候特么的一打開就報這個錯誤 2020-04-09 21:33:49.124 19016-19016/com.appsinnova.android.keepshare E/AndroidRuntime: FATAL EXCEPTION: mainProcess: com.appsinnova.android.keepshare, PID: 19016java.lang.RuntimeException: Unable to …

Linux下c/c++項目代碼覆蓋率的產生方法

最近做了一系列的單元測試相關的工作&#xff0c;除了各種規范及測試框架以外&#xff0c;討論比較多的就是關于代碼覆蓋率的產生&#xff0c;c/c與其他的一些高級語言或者腳本語言相比較而言&#xff0c;例如 Java、.Net和php/python/perl/shell等&#xff0c;由于沒有這些高級…

C# WPF從后臺代碼生成行列可變的表格

z概述WPF常用的表格控件是DataGrid&#xff0c;這個控件在前臺XAML編寫的話&#xff0c;一般列已經固定&#xff0c;然后給每個列去綁定數據&#xff0c;但是如果我的列不固定&#xff0c;隨著運算結果變動呢&#xff1f;這時候DataGrid&#xff0c;就比較難實現這個需求&#…

軟件架構實踐文章鏈接

2019獨角獸企業重金招聘Python工程師標準>>> 架構 InfoQ: 又拍網架構中的分庫設計 SNS網站數據庫技術分析 - 51CTO.COM 數據庫水平切分的實現原理解析 - iBATIS - Java - JavaEye論壇 基于amoeba的mysql分布式數據庫學習&#xff08;一&#xff09; - Java - JavaEy…

【看動漫學編程】程序員在異世界生個娃 第2篇:外掛已準備就緒

前言 作者文筆比較水&#xff0c;還請見諒。 以下內容還將使用視頻動態漫畫表現&#xff0c;剪輯完將會貼出鏈接。 小說劇情為劇情需要&#xff0c;過渡到知識點&#xff0c;部分篇幅可能沒有技術知識點還望諒解。 由于沒有經費支持&#xff0c;所以畫出來的東西是我自己用代碼…

java剪切txt文件_用Java把剪切板的內容實時保存到txt

test類&#xff1a;提示用戶程序已啟動&#xff0c;提示保存位置&#xff0c;清空剪切板。package com.ariya.service;import com.ariya.service.impl.ClipboardServiceImpl;/*** author Ariya* 程序入口*/public class Test {public static void main(String[] args) {Clipboa…

【三維激光掃描】第一章:三維激光掃描入門基礎知識

隨著地理空間信息服務產業的快速發展,地理空間數據的要求越來越高。對地理空間數據的要求正朝著大信息量、高精度、可視化和可挖掘方向發展。地面激光雷達技術是一門新興的測繪技術,已逐漸成為廣大科研和工程技術人員全新的解決問題的手段。地面三維激光掃描技術與全站儀測量…