pug 基础介绍(1) DAY99

pug 前身就是 jade (改名而已)

这里我们来看 pug 的基础写法

<!DOCTYPE html>html(lang="en")    head        meta(charset="UTF-8")        meta(name="viewport", content="width=device-width, initial-scale=1.0")        title Document        link(rel="stylesheet", href="stylesheet/all.css")        script(src="js/all.js")    body    h1         span bb        | cc    br     | con

html呈现为
http://img2.58codes.com/2024/20123039AtOxeN8I4H.jpg

会发现 pug 没有结尾标籤
而是利用一个 tab 来区隔


当然 pug 也可利用 emmet 来撰写
输入 ul>li*3>a{link} 并按下 tab

 ul        li            a(href="") link        li            a(href="") link        li            a(href="") link

若要加 class 该怎么加呢??

.container        form(action="")            label(for="email") 请输入email            input#email.form-control(type="text")

这里要注意 id 的写法 #email

且 input 这里的class 还有另一种写法(写在括号内)

    .container        form(action="")            label(for="email") 请输入email            input#email(type="text" class="form-control")

h1: a(href=""): span 连结
 h1    a(href="")        span 连结

上述这两种结果会是一样的
如果不想写这么多层 可以加上冒号(:)

这里也介绍一个 html 快速转换为 pug的工具
https://html-to-pug.com/


製作 HTML 样板

在我们製作样板的时候
会用到一些语法

include (载入外部区块)


block

作为其他页面的内容显示区域与 Extend 一起使用

extend
-将其他页面做为延伸
-内容会在 block 出现

这里我们先介绍 include
这里我们把 head 的内容储存成 head.jade
并在source下开一个 partials资料夹
储存于此

head.jade

meta(charset="UTF-8")meta(name="viewport", content="width=device-width, initial-scale=1.0")title Documentlink(rel="stylesheet", href="stylesheet/all.css")script(src="js/vendors.js")

navbar 也是
navbar.jade

nav.navbar.navbar-expand-lg.navbar-dark.bg-dark            a.navbar-brand(href='#') Navbar            button.navbar-toggler(type='button' data-toggle='collapse' data-target='#navbarNav' aria-controls='navbarNav' aria-expanded='false' aria-label='Toggle navigation')                span.navbar-toggler-icon            #navbarNav.collapse.navbar-collapse                ul.navbar-nav                    li.nav-item.active                        a.nav-link(href='#')                        | Home                         span.sr-only (current)

接着在 index.jade
加入 include

<!DOCTYPE html>html(lang="en")    head        include partials/head.jade    body        include partials/navbar.jade

这样 include 就完成了~~

再来要介绍 block 与 extend (block 会与 extend 一起使用)

我们先开一个 layout.jade 放在 source 资料夹内
并将 index.jade 的

<!DOCTYPE html>html(lang="en")    head        include partials/head.jade    body        include partials/navbar.jade

剪下贴上 并加上 block content
结果(layout.jade)

<!DOCTYPE html>html(lang="en")    head        include partials/head.jade    body        include partials/navbar.jade        block content

所以这时候我们 index.jade 只剩下原本的内容

h1     span bb    | cc    br     | con    ul        li            a(href="") link        li            a(href="") link        li            a(href="") link    h1: a(href=""): span 连结    h1        a(href="")            span 连结    .container        form(action="")            label(for="email") 请输入email            input#email(type="text" class="form-control")

这里就开始有关于 extend 啦
我们必须把 index.jade 延伸到 layout.jade上
并要用 block content 来标出你要延伸的内容(记得加上后 内容要缩排)

extend layout.jadeblock  content    h1         span bb        | cc        br         | con        ul            li                a(href="") link            li                a(href="") link            li                a(href="") link        h1: a(href=""): span 连结        h1            a(href="")                span 连结        .container            form(action="")                label(for="email") 请输入email                input#email(type="text" class="form-control")

且 我们可以再增加一个 block (ex: block navbar)

extend layout.jadeblock  navbar    include partials/navbar.jadeblock  content    h1         span bb        | cc        br         | con        ul            li                a(href="") link            li                a(href="") link            li                a(href="") link        h1: a(href=""): span 连结        h1            a(href="")                span 连结        .container            form(action="")                label(for="email") 请输入email                input#email(type="text" class="form-control")

别忘了在layout.jade 上也要增加 (block navbar)

<!DOCTYPE html>html(lang="en")    head        include partials/head.jade    body        include partials/navbar.jade        block content        block navbar

那今天的介绍就到这里
若有任何问题 或 内容有误
都可以跟我说唷http://img2.58codes.com/2024/emoticon41.gif


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章