diff --git a/docs/.vitepress/sidebar/qianduanjinji.ts b/docs/.vitepress/sidebar/qianduanjinji.ts
index 09556ea3..5872a0c6 100644
--- a/docs/.vitepress/sidebar/qianduanjinji.ts
+++ b/docs/.vitepress/sidebar/qianduanjinji.ts
@@ -59,6 +59,12 @@ export default function qianduanjinjiSidebarGuide() {
{ text: 'Vue2 基础知识易错点', link: '/frame/vue/basics-knowledge' },
{ text: 'Vue2 入门实战项目:快餐系统', link: '/frame/vue/newcomer-project' },
{ text: 'Vue-CLI2 跨域请求 Demo(fetch、axios、proxyTable)', link: '/frame/vue/cross-domain-request' },
+ { text: 'Vue-CLI2 中的 Vue-Router 和 Vue-Resource 实战', link: '/frame/vue/router-resource' },
+ { text: 'Vue-CLI2 中的 render: h => h(App) 解析', link: '/frame/vue/render-app' },
+ { text: 'Vue2 生命周期的理解与应用', link: '/frame/vue/vue2-life-cycle' },
+ { text: 'Vue2 基础知识点(一)', link: '/frame/vue/vue2-basics-knowledge' },
+ { text: 'Vue-CLI2 入门 Demo 游戏', link: '/frame/vue/newcomer-game' },
+ { text: 'Vue2 父子组件动态传值', link: '/frame/vue/vue2-component-props' },
],
},
{
@@ -136,6 +142,7 @@ export default function qianduanjinjiSidebarGuide() {
{ text: '开发常用命令行', link: '/other/toolGuide/common-command-line' },
{ text: '脚手架及 CLI 工具使用', link: '/other/toolGuide/scaffold-cli' },
{ text: 'Web 服务器 live-server 的安装及使用', link: '/other/toolGuide/live-server' },
+ { text: '常用的 Markdown 语法格式来编写文章', link: '/other/toolGuide/markdown' },
// { text: 'VS Code 常用快捷键', link: '/other/toolGuide/' },
],
},
diff --git a/docs/posts/growth-record/frame/vue/newcomer-game.md b/docs/posts/growth-record/frame/vue/newcomer-game.md
new file mode 100644
index 00000000..286114e7
--- /dev/null
+++ b/docs/posts/growth-record/frame/vue/newcomer-game.md
@@ -0,0 +1,24 @@
+---
+title: Vue-CLI2 入门 Demo 游戏
+date: 2018-07-05 20:01:01
+tag:
+ - Vue
+categories:
+ - 前端进击
+---
+# Vue-CLI2 入门 Demo 游戏
+
+**第一次使用vue-cli2.x搭建一个小demo游戏。代码文件有很多注释信息,通俗易懂的使用这个脚手架搭建一个入门小项目哈。**
+
+## 介绍使用
+- 使用默认创建的脚手架;
+- 修改App.vue、HelloWorld.vue文件,assets文件夹添加了两张图片;
+- 然后编译运行;
+
+## 运行截图
+
+
+## 参考文献
+- Web前端网站教程-米斯特吴
+
+源码在我的GitHub上:[点击跳转](https://github.com/super456/vue-cli2.x-demo)
diff --git a/docs/posts/growth-record/frame/vue/render-app.md b/docs/posts/growth-record/frame/vue/render-app.md
new file mode 100644
index 00000000..1229e652
--- /dev/null
+++ b/docs/posts/growth-record/frame/vue/render-app.md
@@ -0,0 +1,86 @@
+---
+title: 'Vue-CLI2 中的 render: h => h(App) 解析'
+date: 2018-07-08 20:08:08
+tag:
+ - Vue
+categories:
+ - 前端进击
+---
+# Vue-CLI2 中的 render: h => h(App) 解析
+**对于这个,可能es6语法不熟的人很容易产生懵懂,因为我也不熟,所以记录一下,毕竟这也是个重要的知识点。**
+
+### (一)遇到的问题代码:
+```
+new Vue({
+ el: '#app',
+ router,//实例化,表示会使用
+ render: h => h(App)//vue2.0写法
+
+ //以下是vue1.0的写法
+ //components: { App },//注册组件信息
+ // template: ''//简写的模板调用组件的标签
+})
+
+```
+官方的解释很全面但是不是很容易理解:[createElement 参数](https://cn.vuejs.org/v2/guide/render-function.html#%E6%B7%B1%E5%85%A5-data-%E5%AF%B9%E8%B1%A1)
+
+### (二)代码分解
+将`render: h => h(App)` 根据es6语法分解为:
+
+ `render: h => h(App);`
+===
+等价于
+
+`render: h => {return h(App);}`
+===
+等价于
+
+` render: function(h) { return h(App);}`
+===
+等价于
+` render: function(createElement) { return createElement(App); }`
+===
+
+### (三)解析一下这个vue2.0渲染过程:
+render函数用来渲染视图,也提供给`el`挂载,所以使用render函数就是为了页面显示出来。
+
+1.render 方法是一个函数,在接受传入的参数 h 函数后,返回 `h(App)` 的函数调用结果。
+
+2.在创建 vue 实例时,通过调用 render 方法来渲染实例页面的 DOM 结构。
+
+3.当vue 在调用 render 方法时,会传入一个 createElement 函数作为参数,h 的实参是 createElement 函数,然后 createElement 会以 `App`为参数进行调用。
+
+### (四)写一个createElement函数的demo
+创建一个组件,使用createElement函数调用
+```
+
+
+
+
+
+ createElement方法应用
+
+
+
+
+ 下面会使用createElement方法创建DOM结点
+
+
+
+
+
+```
+运行结果是:
+
diff --git a/docs/posts/growth-record/frame/vue/router-resource.md b/docs/posts/growth-record/frame/vue/router-resource.md
new file mode 100644
index 00000000..199d523f
--- /dev/null
+++ b/docs/posts/growth-record/frame/vue/router-resource.md
@@ -0,0 +1,167 @@
+---
+title: Vue-CLI2 中的 Vue-Router 和 Vue-resource 实战
+date: 2018-07-09 20:04:01
+tag:
+ - Vue
+categories:
+ - 前端进击
+---
+# Vue-CLI2 中的 Vue-Router 和 Vue-Resource 实战
+**简单记录一下这两个插件的使用方法,写了一个demo,方便理解及应用。**
+### (一)安装vue-cli2.x脚手架
+如果还没安装的,或安装过程不熟的,可以参考这篇文章教程,写的很详细——[Vue2.0史上最全入坑教程(上)—— 搭建Vue脚手架(vue-cli)](https://www.jianshu.com/p/1626b8643676/),这个文章作者真的很用心,向他学习。
+
+### (二)安装vue-router和vue-resource插件
+如果在安装脚手架的时候安装了vue-router,可以直接跳转到安装vue-resource。
+如果不是的,可以使用命令:`cd <项目文件夹>` 切换到项目文件夹路径下,然后使用命令行安装:`npm install vue-router --save` 和`npm install vue-resource --save`
+
+这里说明一下安装`npm install 插件 +[参数]`,表示的意思:
+1.使用:`npm install 插件` :会把这个插件安装到node_modules目录中,但不会修改package.json内容;
+
+2.`npm install 插件 --save` :在项目发布上线之后还会依赖用到的插件,没有这个插件,项目不能正常的运行,自动更改package.json内容 ;
+
+3.`npm install 插件 --save-dev `:把插件安装到开发依赖中,项目上线之后不会用到的插件,针对个别插件,比如说这个“babel-loader”,是在项目编译解析完成后发布就没用到了的,自动更改package.json内容;
+
+### (三)使用vue-router+vue-resource写一个跳转请求页面数据的demo
+1.先看一下安装脚手架的时候安装的路由界面及配置:
+
+
+2.如果一开始没有的安装vue-router后自己手动安装的,可以参考这个main.js 和router文件夹的index.js配置的配置代码如下:
+main.js代码:
+```
+import Vue from 'vue'
+import App from './App'
+import router from './router'//引入路由指定文件
+
+Vue.config.productionTip = false
+
+/* eslint-disable no-new */
+new Vue({
+ el: '#app',
+ router,//实例化,表示会使用
+ render: h => h(App)//vue2.0写法
+
+ //以下是vue1.0的写法
+ //components: { App },//注册组件信息
+ // template: ''//简写的模板调用组件的标签
+})
+
+```
+如果对代码中的`render: h => h(App)//vue2.0写法` 不理解的可以查看我之前写的文章——[vue-cli2.x中的render: h => h(App)解析](https://blog.csdn.net/qq_35324453/article/details/80961128)
+
+router文件夹的index.js代码:
+```
+import Vue from 'vue'
+import Router from 'vue-router'//引入路由配置的模块
+import HelloWorld from '@/components/HelloWorld'//引入需要路由转址的路径
+import Home from '@/components/Home'//引入需要路由转址的路径
+import VueResource from 'vue-resource'//引入vue-resource插件http请求
+//下面这种方法引用也可以
+// import HelloWorld from '../components/HelloWorld'//引入需要路由转址的路径
+// import Home from '../components/Home'//引入需要路由转址的路径
+
+Vue.use(Router)//声明引用,全局使用
+Vue.use(VueResource)//声明引用,全局使用
+
+export default new Router({
+
+ // 注意当有多个路由的时候默认使用第一个路由地址
+ routes: [//注意routers是一个对象数组
+ {//需要跳转的组件需要import引进
+ path: '/',//路由的地址,此时表示根路径
+ name: 'HelloWorld',
+ component: HelloWorld
+ },
+ {//需要跳转的组件需要import引进
+ //路由的地址,此时表示根路径。注意第二个路由地址这里需要添加上组件名
+ path: '/Home',
+ name: 'Home',
+ component: Home
+ }
+ ],
+ mode:"history"//去掉url链接中的#符号
+})
+
+```
+3.添加一个组件Home.vue,添加位置如下:
+
+
+组件代码为:
+```
+
+
+
{{ msg }}
+ test
+
以下是获取http请求的数据内容
+
+ - {{user.id}}. {{user.name}}
+
+
+
+
+
+
+
+
+
+```
+
+4.需要在根组件App.vue下添加一下引入组件的内容:
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+### (四)运行结果
+
diff --git a/docs/posts/growth-record/frame/vue/vue-question-summary.md b/docs/posts/growth-record/frame/vue/vue-question-summary.md
index 59f106f8..352efb2c 100644
--- a/docs/posts/growth-record/frame/vue/vue-question-summary.md
+++ b/docs/posts/growth-record/frame/vue/vue-question-summary.md
@@ -57,3 +57,37 @@ MDN 给出了以下答案
2. 错误的发现 => 解决的时间是否过长,如何更好的面对线上问题;
3. 权限的设计是否存在问题,目前的模式为没有权限 => 摧毁,采用有权限 => 生成是否会更加安全?
4. 前端自身的告警系统很有必要;
+
+## 编译报错问题:You are using the runtime-only build of Vue where the template compiler is not available
+相信很多初学者使用vue-cli2.x初始化脚手架项目的时候或者webpack配置的时候会遇到这个问题:
+
+
+一开始初始化项目配置的时候,有两个运行环境配置的版本:Compiler版本、Runtime版本。
+
+简单说一下这两个版本的区别:
+
+1. 当对template模板内容编译是需要对字符串进行模板渲染或者可以绑定的html对象作为模板进行渲染的方式,就需要使用Compiler版本。示例如下:
+ ```
+ new Vue({
+ el:'#vue-app',
+ template:'{{test}}
',
+ data:{
+ test:'hello'
+ }
+ });
+ ```
+
+2. 如果使用vue-loader加载.vue文件时(组件文件),webpack在打包对模板进行了渲染,就需要Runtime版本。示例如下:
+
+ ```
+ new Vue({
+ el: '#app',
+ components: { App },
+ template: ''
+ })
+ ```
+
+从Compiler版本修改为Runtime版本。只需如示代码:
+
+
+添加一行代码:`'vue$': 'vue/dist/vue.esm.js'` ,然后重新运行编译就可以了
diff --git a/docs/posts/growth-record/frame/vue/vue2-basics-knowledge.md b/docs/posts/growth-record/frame/vue/vue2-basics-knowledge.md
new file mode 100644
index 00000000..c188e62f
--- /dev/null
+++ b/docs/posts/growth-record/frame/vue/vue2-basics-knowledge.md
@@ -0,0 +1,88 @@
+---
+title: Vue2 基础知识点(一)
+date: 2018-07-07 20:04:01
+tag:
+ - Vue
+categories:
+ - 前端进击
+---
+# Vue2 基础知识点(一)
+**本文针对自己学习官方文档时,总结一些易容易混淆的知识点做一下记录。欢迎指正或学习交流。**
+
+### (一)常用基础知识点
+
+1. `v-on:click=''`、`@click=''`、`:click=''` 三种写法;
+ 注意函数调用:直接使用双花括号调用函数是要使用函数名+括号,其他直接使用函数名即可,或使用函数名+括号(click 事件中)注意传参的函数必须带括号,可以不带参数,不然会报错对象空值;
+
+2. `v-if=''` 条件渲染与`v-show=''` 的区别:`v-if` 条件:不存在不会占位空间不会被渲染挂载;`v-show` 为真时,去掉 `display:none`,为假时显示`display:none`。默认会占用空间,会被渲染挂载。
+
+3. `v-for=''` 可以通过两组方式遍历数组(也可以遍历对象):一种是通过数组下标;另一种是循环遍历;
+ `v-for='user in users' 或 v-for='(user,index) in users'` 第二个参数是数组索引值;
+
+```html
+v-for还可以渲染div
+
+
{{index+1}}
+ {{user.name}}---{{user.age}}
+
+
+v-for使用template标签,这个标签不像div一样会被渲染出来,只渲染template里面的标签
+
+ {{index+1}}
+ {{user.name}}---{{user.age}}
+
+
+遍历数组里面的对象,遍历两次
+
+
+
{{item}}---{{key}}
+
+
+```
+
+4. 数据双向绑定的两种方法:
+
+```html
+双向数据绑定ref/$refs示例:input/select/textarea
+
+
+
+您输入的名字为:{{name}}
+
+
+您输入的年龄为:{{age}}
+
+双向数据绑定v-model示例:input/select/textarea
+
+
+
+您输入的名字为:{{name}}
+
+
+您输入的年龄为:{{age}}
+ ```
+
+ js部分:
+```javascript
+new Vue({
+ el:'#vue-app',
+ data:{
+ name:'',
+ age:''
+ },
+ methods:{
+ logName:function(){
+ // console.log("您正在输入名字~");
+ // $refs获取标记的值,后面接命名值+value
+ // console.log(this.$refs.refName.value);
+ this.name=this.$refs.refName.value;
+ },
+ logAge:function(){
+ // console.log("您正在输入年龄~");
+ this.age=this.$refs.refAge.value;
+ }
+ }
+})
+```
+
+5. `computed` 和 `methods` 方法:只要methods方法之一被调用,其他所有方法都会被渲染执行,很耗费性能;计算属性,只会调用相应的方法体,是应用于搜索,调用比较多的方法体。
diff --git a/docs/posts/growth-record/frame/vue/vue2-component-props.md b/docs/posts/growth-record/frame/vue/vue2-component-props.md
new file mode 100644
index 00000000..384af26a
--- /dev/null
+++ b/docs/posts/growth-record/frame/vue/vue2-component-props.md
@@ -0,0 +1,91 @@
+---
+title: Vue2 父子组件动态传值
+date: 2018-06-26 20:02:02
+tag:
+ - Vue
+categories:
+ - 前端进击
+---
+# Vue2 父子组件动态传值
+**在学习 Vue2.x 的时候,遇到了一个问题,就是父子组件如何传递动态输入的值,文档介绍都是传递固定值的,比如我想传递一个刚输入的值呢,子组件如何显示?一下就是简单的代码:**
+
+注:本人使用的是官方的**脚手架**学习的,可以通过父级组件向子级组件传递动态输入的值。然后本人重写了一个测试页面,直接复制代码就可以运行的(看懂以下代码,父子组件传递原理也是一样的,此处以对象为例):
+
+```html
+
+
+
+
+
+
+
+ 父组件向子组件动态传值示例
+
+
+
+
+
+
+
+
+
添加一个列表项:
+
+
+
显示输入框传递给子组件的添加内容(对象):
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+测试结果如下:
+
+
+
diff --git a/docs/posts/growth-record/frame/vue/vue2-life-cycle.md b/docs/posts/growth-record/frame/vue/vue2-life-cycle.md
new file mode 100644
index 00000000..909b7f67
--- /dev/null
+++ b/docs/posts/growth-record/frame/vue/vue2-life-cycle.md
@@ -0,0 +1,310 @@
+---
+title: Vue2 生命周期的理解与应用
+date: 2018-07-08 20:08:08
+tag:
+ - Vue
+categories:
+ - 前端进击
+---
+# Vue2 生命周期的理解与应用
+**在学习 Vue2.x 入门后,开始慢慢熟悉 Vue 的模式和开发脚手架项目实践过程中,需要对生命周期钩子函数一定的理解,多少会用到这些钩子函数,根据自己的理解写了一下,欢迎指正或学习交流。**
+
+### (一)vue2.x生命周期图
+
+
+### (二)生命周期钩子函数说明
+
+| 生命周期钩子函数 | 说明 |
+|:--------------|:---------------|
+|beforeCreate |在实例初始化之后,数据观测(data observer) 和 event/watcher 事件配置之前被调用。|
+|created |实例已经创建完成之后被调用。在这一步,实例已完成以下的配置:数据观测(data observer)属性初始化和方法的运算, watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。|
+|beforeMount | 在挂载开始之前被调用:相关的 render 函数首次被调用。|
+|mounted | `el`被新创建的 `vm.$el` 替换,并挂载到实例上去之后调用该钩子。如果 root实例挂载了一个文档内元素,当mounted被调用时 `vm.$el` 也在文档内。|
+|beforeUpdate | 数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。你可以在这个钩子中进一步地更改状态,这不会触发附加的重渲染过程。|
+|updated | 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。|
+|beforeDestroy | 实例销毁之前调用。在这一步,实例仍然完全可用。|
+|destroyed |Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。|
+
+### (三)代码演示
+1. 通过嵌套组件的页面加载查看显示顺序:
+ 代码如下(可直接复制使用):
+
+ ```html
+
+
+
+
+
+
+
+ vue生命周期的理解应用
+
+
+
+
+
+
+
+
+
+ ```
+
+ 运行结果:
+
+
+2. 通过控制台查看页面加载显示顺序日志:
+ 代码如下(可直接复制使用):
+
+ ```html
+
+
+
+
+
+
+
+ vue生命周期的理解应用
+
+
+
+
+
+
+
+
+
+ ```
+
+ 简单说明一下结构:
+ (1)创建了一个 Vue 根实例命名为 vue-app,将其挂载到页面 id 为 vue-app 的 dom 元素上。
+ (2)局部注册的一个组件 child 并在根实例中将其注册使其可以在根实例的作用域中使用。
+ (3)将子组件用 `` 包裹,为接下来的测试作准备。
+ (4)打开开发者工具的控制台查看结果:
+
+
+#### 结果分析
+1.beforeCreate 执行时:data和el均未初始化,值为:undefined;
+
+
+2.created 执行时:Vue 实例观察的数据对象 data 已经配置好,已经可以得到 `vue-app.msg` 的值,但 Vue 实例使用的根 DOM 元素 el 还未初始化;
+
+
+3.beforeMount 执行时:data 和 el 均已经初始化,但从 `{{msg}}` 等页面展示数据可以看出此时 el 并没有渲染进数据,el 的值为“虚拟” DOM 的元素节点;
+
+
+4.mounted 执行时:此时 el 已经渲染完成并挂载到实例上,页面基本显示完成;
+
+
+5.beforeUpdate 执行时:会更新当前组件数据,但未在页面渲染出来;
+
+
+6.updated 执行时:会更新当前组件数据,并在页面渲染出来;
+
+
+7.beforeDestroy 和 destroyed 执行时:Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。注意:这里的销毁并不指代'抹去',而是表示'解绑'。
+
+
+验证一下,控制台输入:`app.msg='super456'` 页面 `{{msg}}` 并没有显示出来,结果显示:
+
+
+### (四)一些钩子函数应用
+1. beforeCreate 钩子中可以进行 loading 之类的动画加载;
+2. 在 created 钩子中可以对 data 数据进行操作,这个时候可以进行 ajax 请求将返回的数据赋给 data,还可以进行网络接口的请求操作;
+3. 在 mounted 钩子对挂载的 dom 进行操作,也可以进行后台获取数据操作;
+
+### (五)文献参考
+*特别感谢:作者:hxgzj 的[关于Vue.js2.0生命周期的研究与理解](https://segmentfault.com/a/1190000010336178) 这篇文章分析的很详细,看完后参考写了一个案例出来的。内容中也引用了很多。*
diff --git a/docs/posts/growth-record/other/toolGuide/markdown.md b/docs/posts/growth-record/other/toolGuide/markdown.md
new file mode 100644
index 00000000..ccf864fb
--- /dev/null
+++ b/docs/posts/growth-record/other/toolGuide/markdown.md
@@ -0,0 +1,245 @@
+---
+title: 常用的 Markdown 语法格式来编写文章
+date: 2018-06-23 20:02:01
+tag:
+ - 工具指南
+categories:
+ - 前端进击
+---
+# 常用的 Markdown 语法格式来编写文章
+**注:本教程需要一点对markdown语法格式的了解,什么都不知道的,请直接看[献给写作者的 Markdown 新手指南][02]的参考资料,再来看本文,会更好的去学习。**
+
+## 基本排版格式
+
+### (一) 目录编辑
+
+1. 导航目录链接制作,一般使用二级、三级标题格式(需要解析)
+
+ 第一种方式获取标题:
+
+ ```md
+ * TOC
+ {:toc}
+ ```
+
+2. 小标题无序目录(注意空格)
+
+ ```md
+ * 目录一
+ * 目录二
+ ```
+
+3. 小标题有序目录(注意空格)
+
+ ```md
+ 1. 目录一
+ 2. 目录二
+ ```
+
+4. 锚点链接(注意英文字符)
+
+ ```md
+ [目录](#目录)
+ [Fork 指南](#fork-指南)
+ ```
+
+### (二) 链接表示
+
+1. 基本插入链接表示:
+ * 网址链接:`[跳转名](https://xxx.github.io)`
+ * 本地图片链接(最好使用图床网站获取图片url): `![](/images/wiki/eclipse-need-java6.png)`
+ * 待定链接:`[这个链接跳转不了](#)`
+
+2. 统一的的链接跳转方式(为了排版好看一点):
+
+ ```md
+ 参考:[mpv keybindings][0]
+ 参考:[OPTIONS][1]
+ 参考:[MPV使用小记][2]
+
+ [0]: https://github.com/mpv-player/mpv/blob/master/etc/input.conf
+ [1]: https://github.com/mpv-player/mpv/blob/master/DOCS/man/options.rst
+ [2]: https://segmentfault.com/a/1190000004533079
+ ```
+
+3. 快捷插入网址链接表示形式:``
+
+### (三) 表格排版
+
+4. 表格排版参考(注意空行)
+
+ ```md
+ | 功能 | 快捷键 for win | 快捷键 for mac |
+ |:---------|:---------------|:---------------|
+ | Project | M-1 | Cmd-1 |
+ | Terminal | M-F12 | M-F12 |
+ | Editor | Esc | Esc |
+ ```
+
+ **注意:**`:---------` 表示文字居左显示,`:---------:` 表示文字居中显示,`---------:` 表示文字居右显示。
+
+### (四) 文字处理
+
+1. 分割线
+ * 第一种方式:`-----`
+ * 第二种方式:`***`
+
+ 效果展示:
+
+ ***
+
+2. 删除线:`~~删除线~~` ,效果展示:~~删除线~~
+
+3. 斜体:`*斜体*` ,效果展示:*斜体*
+
+4. 表情插入(需要解析)
+
+ ```md
+ :camel:
+ :blush:
+ :smile:
+ ```
+
+ [表情语法专属官网](https://www.webpagefx.com/tools/emoji-cheat-sheet/)
+
+5. 脚注提醒(需要解析)
+
+ This is a text with footnote[^1].
+
+ [^1]: Here is the footnote 1 definition.
+
+6. 键盘键显示(需要解析): `Alt + Shift + S`
+
+ 效果展示:Alt + Shift + S
+
+7. 电子邮箱输入:`<1111111111@qq.com>` ,效果展示:<1111111111@qq.com>
+
+8. 代办列表: 表示列表是否勾选状态
+
+ ```md
+ - [ ] 不勾选
+ - [x] 勾选
+ ```
+
+9. 上下标(需要解析)
+
+ `\^` 表示上标, `_` 表示下标。如果上下标的内容多于一个字符,要用{}把这些内容括起来当成一个整体。上下标是可以嵌套的,也可以同时使用。 例如:
+
+ `x^{y^z}=(1+{\rm e}^x)^{-2xy^w}` ,效果展示:`x{yz}=(1+{\rm e}x){-2xy^w}`(解析有问题,需要装插件)
+
+10. 添加下划线: `php\_gd2.dll` ,效果展示: php\_gd2.dll
+
+11. 笔记本和标签(部分编辑器支持): `@(示例笔记本)[标签1|标签2|标签3]` 。
+
+### (五) 引用
+
+1. 区块引用可以嵌套,只要根据层次加上不同数量的 > :
+
+ ```md
+ > 这是第一级引用。
+ >
+ > > 这是第二级引用。
+ >
+ > 现在回到第一级引用。
+ ```
+
+2. 引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等:
+
+ ```md
+ > ## 这是一个标题。
+ >
+ > 1. 这是第一行列表项。
+ > 2. 这是第二行列表项。
+ >
+ > 给出一些例子代码:
+ >
+ > return shell_exec("echo $input | $markdown_script");
+ ```
+
+3. 如果要在列表项目内放进引用,那 `>` 就需要缩进:
+
+ ```md
+ * Coding.net有以下主要功能:
+
+ > 代码托管平台
+ > 在线运行环境
+ > 代码质量监控
+ > 项目管理平台
+ ```
+
+### (六) 简单的图形
+
+1. 代码图形
+
+ ```md
+ +-------------+ +-------------+
+ | | ... | |
+ +-------------+ +-------------+
+ | | | |
+ +-------------+ +-------------+
+ | format str1 | <-- esp | format str2 | <-- esp
+ +-------------+ +-------------+
+ | double low | | int |
+ +-------------+ +-------------+
+ | double high | | double high |
+ +-------------+ main stack frame +-------------+
+ | ... | | ... |
+ +-------------+ +-------------+
+ | | | |
+ +-------------+ +-------------+
+ | (%ebp) | <-- ebp | (%ebp) | <-- ebp
+ +-------------+ +-------------+
+ ```
+
+2. 构建文件夹图形
+
+ ```md
+ app/src/main
+ ├─assets
+ ├─java
+ │ ├─android
+ │ │ └─content
+ │ │ └─pm
+ │ └─org
+ │ └─mazhuang
+ │ └─easycleaner
+ └─res
+ ├─drawable
+ ├─layout
+ ├─menu
+ ...
+ ```
+
+### (七) 代码语法
+
+1. 单行代码语法:两个 \`,中间输入内容
+
+2. 多行代码语法(注意前后空行):第一行输入三个 \` 然后最后一行再输入三个
+
+3. 简单的语法高亮
+
+ ```sh
+ git checkout -b test 5234ab
+ ```
+
+ ```python
+ print 'Hello, World!'
+ ```
+
+4. 代码高亮语言标识符支持的语法
+
+ 支持的有 `javascript(js)、cpp、makefile、vbnet、xml、c、java、cl、vim、sh、yaml、markdown(显示原语法格式)、html、vb、python` 等等
+
+## 参考文献
+
+- (1)、[中文文案排版指北(简体中文版)][01]
+- (2)、[献给写作者的 Markdown 新手指南][02]
+- (3)、[Markdown语法介绍][03]
+- (4)、[Markdown 语法说明 (简体中文版)][04]
+- (5)、[马克飞象-在线编辑器][05]
+
+[01]: http://mazhuang.org/wiki/chinese-copywriting-guidelines/
+[02]: http://www.jianshu.com/p/q81RER
+[03]: https://coding.net/help/doc/project/markdown.html#section-2
+[04]: http://www.appinn.com/markdown/
+[05]: https://maxiang.io/
diff --git a/docs/public/growth-record/frame/vue/game.gif b/docs/public/growth-record/frame/vue/game.gif
new file mode 100644
index 00000000..c46726c3
Binary files /dev/null and b/docs/public/growth-record/frame/vue/game.gif differ
diff --git a/docs/public/growth-record/frame/vue/props-01.png b/docs/public/growth-record/frame/vue/props-01.png
new file mode 100644
index 00000000..568007b9
Binary files /dev/null and b/docs/public/growth-record/frame/vue/props-01.png differ
diff --git a/docs/public/growth-record/frame/vue/props-02.png b/docs/public/growth-record/frame/vue/props-02.png
new file mode 100644
index 00000000..9de5c19d
Binary files /dev/null and b/docs/public/growth-record/frame/vue/props-02.png differ
diff --git a/docs/public/growth-record/frame/vue/render-app.png b/docs/public/growth-record/frame/vue/render-app.png
new file mode 100644
index 00000000..e7c57ade
Binary files /dev/null and b/docs/public/growth-record/frame/vue/render-app.png differ
diff --git a/docs/public/growth-record/frame/vue/router-01.png b/docs/public/growth-record/frame/vue/router-01.png
new file mode 100644
index 00000000..013e5a1a
Binary files /dev/null and b/docs/public/growth-record/frame/vue/router-01.png differ
diff --git a/docs/public/growth-record/frame/vue/router-02.png b/docs/public/growth-record/frame/vue/router-02.png
new file mode 100644
index 00000000..a299b6ee
Binary files /dev/null and b/docs/public/growth-record/frame/vue/router-02.png differ
diff --git a/docs/public/growth-record/frame/vue/router-03.gif b/docs/public/growth-record/frame/vue/router-03.gif
new file mode 100644
index 00000000..c767bacc
Binary files /dev/null and b/docs/public/growth-record/frame/vue/router-03.gif differ
diff --git a/docs/public/growth-record/frame/vue/vue-question-06.png b/docs/public/growth-record/frame/vue/vue-question-06.png
new file mode 100644
index 00000000..dbf1c24d
Binary files /dev/null and b/docs/public/growth-record/frame/vue/vue-question-06.png differ
diff --git a/docs/public/growth-record/frame/vue/vue-question-07.png b/docs/public/growth-record/frame/vue/vue-question-07.png
new file mode 100644
index 00000000..e83db71d
Binary files /dev/null and b/docs/public/growth-record/frame/vue/vue-question-07.png differ
diff --git a/docs/public/growth-record/frame/vue/vue2-life-01.png b/docs/public/growth-record/frame/vue/vue2-life-01.png
new file mode 100644
index 00000000..c37e7278
Binary files /dev/null and b/docs/public/growth-record/frame/vue/vue2-life-01.png differ
diff --git a/docs/public/growth-record/frame/vue/vue2-life-02.gif b/docs/public/growth-record/frame/vue/vue2-life-02.gif
new file mode 100644
index 00000000..5423b9ba
Binary files /dev/null and b/docs/public/growth-record/frame/vue/vue2-life-02.gif differ
diff --git a/docs/public/growth-record/frame/vue/vue2-life-03.png b/docs/public/growth-record/frame/vue/vue2-life-03.png
new file mode 100644
index 00000000..2909cd1b
Binary files /dev/null and b/docs/public/growth-record/frame/vue/vue2-life-03.png differ
diff --git a/docs/public/growth-record/frame/vue/vue2-life-04.png b/docs/public/growth-record/frame/vue/vue2-life-04.png
new file mode 100644
index 00000000..68df3925
Binary files /dev/null and b/docs/public/growth-record/frame/vue/vue2-life-04.png differ
diff --git a/docs/public/growth-record/frame/vue/vue2-life-05.png b/docs/public/growth-record/frame/vue/vue2-life-05.png
new file mode 100644
index 00000000..a178d085
Binary files /dev/null and b/docs/public/growth-record/frame/vue/vue2-life-05.png differ
diff --git a/docs/public/growth-record/frame/vue/vue2-life-06.png b/docs/public/growth-record/frame/vue/vue2-life-06.png
new file mode 100644
index 00000000..2b3d6fd3
Binary files /dev/null and b/docs/public/growth-record/frame/vue/vue2-life-06.png differ
diff --git a/docs/public/growth-record/frame/vue/vue2-life-07.png b/docs/public/growth-record/frame/vue/vue2-life-07.png
new file mode 100644
index 00000000..bba33840
Binary files /dev/null and b/docs/public/growth-record/frame/vue/vue2-life-07.png differ
diff --git a/docs/public/growth-record/frame/vue/vue2-life-08.png b/docs/public/growth-record/frame/vue/vue2-life-08.png
new file mode 100644
index 00000000..3b94a61b
Binary files /dev/null and b/docs/public/growth-record/frame/vue/vue2-life-08.png differ
diff --git a/docs/public/growth-record/frame/vue/vue2-life-09.png b/docs/public/growth-record/frame/vue/vue2-life-09.png
new file mode 100644
index 00000000..aa792859
Binary files /dev/null and b/docs/public/growth-record/frame/vue/vue2-life-09.png differ
diff --git a/docs/public/growth-record/frame/vue/vue2-life-10.png b/docs/public/growth-record/frame/vue/vue2-life-10.png
new file mode 100644
index 00000000..236f3456
Binary files /dev/null and b/docs/public/growth-record/frame/vue/vue2-life-10.png differ
diff --git a/docs/public/growth-record/frame/vue/vue2-life-11.png b/docs/public/growth-record/frame/vue/vue2-life-11.png
new file mode 100644
index 00000000..1113aa29
Binary files /dev/null and b/docs/public/growth-record/frame/vue/vue2-life-11.png differ