diff --git a/source/_posts/Vue.md b/source/_posts/Vue.md
index 5094c4c..e59c18c 100644
--- a/source/_posts/Vue.md
+++ b/source/_posts/Vue.md
@@ -867,6 +867,369 @@ export default {
```
+# Pug.js
+
+Pug(之前称为Jade)是一种简洁而灵活的模板引擎,用于构建HTML。Pug使用缩进和标记替代了常见的HTML标记,这使得它更易于阅读和编写。它也提供了一些功能,如变量、循环和条件语句等,可以帮助开发人员更轻松地构建动态的网页。
+
+## 特性
+
+### 属性
+
+如果一个标签有多个属性,可使用 分行 或 逗号
+
+```less
+// 1
+el-button(v-if="ifShow" type="size" size="small" @click="doClidk") 点击
+// 2
+el-button(v-if="ifShow",type="size",size="small",@click="doClidk") 点击
+// 3
+el-button(v-if="ifShow"
+ type="size"
+ size="small"
+ @click="doClick") 点击
+```
+
+### 注释
+
+- 单行
+
+```xml
+// 一些内容
+p foo
+p bar
+
+
+
foo
+bar
+```
+
+- 不输出注释
+
+```less
+//- 这行不会出现在结果中
+p foo
+p bar
+
+foo
+bar
+```
+
+- 块注释
+
+```xml
+body
+ //
+ 一堆
+ 文字
+ 进行中
+
+
+
+
+```
+
+
+
+## Vue 2集成Pug.js
+
+Vue CLI安装Pug.js
+
+```shell
+npm i -D pug pug-html-loader pug-plain-loader
+```
+
+vue.config.js配置
+
+```javascript
+// vue.config.js
+module.exports = {
+ chainWebpack: config => {
+ config.module.rule('pug')
+ .test(/\.pug$/)
+ .use('pug-html-loader')
+ .loader('pug-html-loader')
+ .end()
+ }
+}
+```
+
+使用前
+
+```vue
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ dict.label }}
+
+
+
+
+
+
+```
+
+
+
+使用后
+
+```less
+
+ .app-container
+ // 搜索栏
+ el-form(:model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch")
+ el-form-item(label="昵称")
+ el-input(
+ v-model="queryParams.nickName"
+ placeholder="请输入用户昵称"
+ clearable
+ style="..."
+ @keyup.enter.native="handleQuery"
+ )
+ el-form-item(label="状态" prop="status")
+ el-select(
+ v-model="queryParams.status"
+ placeholder="请选择状态"
+ clearable
+ style="..."
+ )
+ el-option(
+ v-for="dict in dict.type.sys_normal_disable"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ )
+ el-form-item
+ el-button(type="primary" icon="el-icon-search" size="mini" @click="handleQuery") 搜索
+ el-button(icon="el-icon-refresh" size="mini" @click="resetQuery") 重置
+
+ // 工具栏按钮
+ el-row.mb8(:gutter="10")
+ el-col(:span="1.5")
+ el-button(
+ type="primary"
+ plain
+ icon="el-icon-plus"
+ size="mini"
+ @click="handleAdd"
+ ) 新增
+ el-col(:span="1.5")
+ el-button(
+ type="success"
+ plain
+ icon="el-icon-edit"
+ size="mini"
+ :disabled="single"
+ @click="handleUpdate"
+ ) 修改
+ el-col(:span="1.5")
+ el-button(
+ type="danger"
+ plain
+ icon="el-icon-delete"
+ size="mini"
+ :disabled="multiple"
+ @click="handleDelete"
+ ) 删除
+ el-col(:span="1.5")
+ el-button(
+ type="warning"
+ plain
+ icon="el-icon-download"
+ size="mini"
+ @click="handleExport"
+ ) 导出
+
+ // 表格
+ el-table(v-loading="loading" :data="list" @selection-change="handleSelectionChange")
+ el-table-column(type="selection" width="55" align="center")
+ el-table-column(prop="userId" v-if="false")
+ el-table-column(label="用户昵称" align="center" prop="nickName")
+ el-table-column(label="用户头像" align="center" prop="pic")
+ el-table-column(label="状态" align="center" prop="status")
+ template(slot-scope="scope")
+ dict-tag(:options="dict.type.sys_normal_disable" :value="scope.row.status")
+ el-table-column(label="注册时间" align="center" prop="userRegtime")
+ el-table-column(label="操作" align="center" class-name="small-padding fixed-width")
+ el-button(
+ size="mini"
+ type="text"
+ icon="el-icon-edit"
+ @click="handleUpdate(scope.row)"
+ v-hasPermi="['system:dict:edit']"
+ ) 修改
+ el-button(
+ size="mini"
+ type="text"
+ icon="el-icon-delete"
+ @click="handleDelete(scope.row)"
+ v-hasPermi="['system:dict:remove']"
+ ) 删除
+
+ pagination(
+ v-show="total>0"
+ :total="total"
+ :page.sync="queryParams.pageNum"
+ :limit.sync="queryParams.pageSize"
+ @pagination="getList"
+ )
+
+ el-dialog(
+ :title="title"
+ :visible.sync="open"
+ width="500px"
+ append-to-body
+ )
+ el-form(
+ ref="form"
+ :model="form"
+ :rules="rules"
+ label-width="80px"
+ )
+ el-form-item(label="用户头像" prop="pic")
+ // el-input(v-model="form.pic" placeholder="请输入")
+ el-form-item(label="用户昵称" prop="nickName")
+ el-input(v-model="form.nickName" placeholder="请输入用户昵称")
+ el-form-item(label="状态" size="mini" prop="status")
+ el-radio(
+ v-for="dict in dict.type.sys_normal_disable"
+ :key="dict.value"
+ :label="dict.value"
+ ) {{ dict.label }}
+ .dialog-footer(slot="footer")
+ el-button(type="primary" @click="submitForm") 确 定
+ el-button(@click="cancel") 取 消
+
+```
+
# Vben Admin