-
Notifications
You must be signed in to change notification settings - Fork 1
/
TestDataBase.sql
148 lines (112 loc) · 58.1 KB
/
TestDataBase.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
/*
SQLyog 企业版 - MySQL GUI v8.14
MySQL - 5.5.49 : Database - blog
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`blog` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
USE `blog`;
/*Table structure for table `blog` */
DROP TABLE IF EXISTS `blog`;
CREATE TABLE `blog` (
`blogId` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '博客表主键id',
`blogTitle` varchar(200) CHARACTER SET utf8 NOT NULL COMMENT '博客标题',
`blogSubUrl` varchar(200) CHARACTER SET utf8 NOT NULL COMMENT '博客自定义路径url',
`blogCoverImage` varchar(200) CHARACTER SET utf8 NOT NULL COMMENT '博客封面图',
`blogContent` mediumtext CHARACTER SET utf8 NOT NULL COMMENT '博客内容',
`blogCategoryId` int(11) NOT NULL COMMENT '博客分类id',
`blogCategoryName` varchar(50) CHARACTER SET utf8 NOT NULL COMMENT '博客分类(冗余字段)',
`blogTags` varchar(200) CHARACTER SET utf8 NOT NULL COMMENT '博客标签',
`blogStatus` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0-草稿 1-发布',
`blogViews` bigint(20) NOT NULL DEFAULT '0' COMMENT '阅读量',
`enableComment` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0-允许评论 1-不允许评论',
`createTime` datetime DEFAULT NULL COMMENT '添加时间',
`updateTime` datetime DEFAULT NULL COMMENT '修改时间',
`description` varchar(200) CHARACTER SET utf8 NOT NULL COMMENT '文章描述',
PRIMARY KEY (`blogId`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8mb4 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;
/*Data for the table `blog` */
insert into `blog`(`blogId`,`blogTitle`,`blogSubUrl`,`blogCoverImage`,`blogContent`,`blogCategoryId`,`blogCategoryName`,`blogTags`,`blogStatus`,`blogViews`,`enableComment`,`createTime`,`updateTime`,`description`) values (11,'hello-world','hello-world','https://cdn.jsdelivr.net/gh/lete114/CDN/BoBoPic/24.jpg','Welcome to [Hexo](https://hexo.io/)! This is your very first post. Check [documentation](https://hexo.io/docs/) for more info. If you get any problems when using Hexo, you can find the answer in [troubleshooting](https://hexo.io/docs/troubleshooting.html) or you can ask me on [GitHub](https://github.com/hexojs/hexo/issues).\n\n## Quick Start\n\n### Create a new post\n\n``` bash\n$ hexo new \"My New Post\"\n```\n\nMore info: [Writing](https://hexo.io/docs/writing.html)\n\n### Run server\n\n``` bash\n$ hexo server\n```\n\nMore info: [Server](https://hexo.io/docs/server.html)\n\n### Generate static files\n\n``` bash\n$ hexo generate\n```\n\nMore info: [Generating](https://hexo.io/docs/generating.html)\n\n### Deploy to remote sites\n\n``` bash\n$ hexo deploy\n```\n\nMore info: [Deployment](https://hexo.io/docs/one-command-deployment.html)',2,'HTML','hello-world,CSS,HTML',1,0,0,'2020-11-11 13:41:55','2020-11-20 16:47:30','123'),(17,'手把手教你,抖音去水印(有手就能学会)','douyin','https://cdn.jsdelivr.net/gh/lete114/CDN/BoBoPic/23.jpg','\n# 前言\n\n相信你在百度搜索可能搜到在线去水印的在线网站吧?\n或者使用`APP`去水印,`微信小程序`去水印?\n是的,这些的确是去水印最快的方法,不过在使用多次以后,就不能再次使用了\n有些需要你`花钱`购买`解析次数`(下载次数),或者限制每天只能解析`1~~3`个视频(可能是按月)\n其实上面所说的大多都是封装了下面的步骤而实现的自动化去水印\n\n本片文章获取的无水印视频步骤可能很多,不方便批量处理,但这里只是提供一个去视频水印的一个思路(其他平台自测)\n\n## 教程开始\n\n1. 点击抖音的分享按钮,获取链接\n这里我以`《烈阳天道Ⅰ》`为例\n地址:[https://v.douyin.com/JYAYdfH/](https://v.douyin.com/JYAYdfH/)\n\n2. 复制链接浏览器打开\n打开后按`F12`--->选择`手机模式`--->`刷新网页`--->选择`Network`--->搜索框内输入`item`--->选择`Headers`--->展开`General`\n![image.png](https://files.alexhchu.com/2020/07/20/a271ed3fc2541.png)\n\n3. 复制`Requst URL`的链接到地址栏回车(手机模式)\n打开后按`F12`--->依次展开--->`item_list`--->`0`--->`video`--->`play_addr`--->`url_list`--->`0`\n最终得到`0: \"https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0200f480000bs78bq8ckillkpgb8c8g&ratio=720p&line=0\"`\n![image.png](https://files.alexhchu.com/2020/07/20/4f1594964f627.png)\n\n4. 最后一步\n复制`0`后面的链接复制到浏览器地址栏\n将链接的`playwm`改为`play`\n说明:`wm`为`Watermark`而Watermark翻译过来就是`水印`\n修改后:https://aweme.snssdk.com/aweme/v1/play/?video_id=v0200f480000bs78bq8ckillkpgb8c8g&ratio=720p&line=0\n\n5. 常见问题\n`问:`为什么显示下载的是html文件?\n`答:`因为抖音采取的视频是m3u8格式视频,只需要把html改成mp4即可\n`m3u8:`将一个视频切片成多个细小的块,然后分发给各个用户(抖音采取的`p2p`传输模式,大大降低了宽带费用的,如果不采取p2p模式的话,宽带成本是很高的,毕竟日活跃用户那么高)\n`问:`为什么最后得到的链接输入后回车,白屏?\n`答:`因该是浏览器问题,或者是被某款杀毒软件拦截,这个问题我也有,不过我把链接放到手机浏览器打开可以在线播放和下载(华为自带浏览器)\n\n<video id=\"video\" controls style=\'height: 100%;width: 100%;object-fit: cover;\'></video>\n<script>\n var video = document.getElementById(\'video\');\n var videoSrc = \'https://cdn.jsdelivr.net/gh/lete114/CDN2/video/lytd/1.m3u8\';\n if (Hls.isSupported()) {\n var hls = new Hls();\n hls.loadSource(videoSrc);\n hls.attachMedia(video);\n hls.on(Hls.Events.MANIFEST_PARSED, function() {\n video.play();\n });\n }\n</script>',1,'CSS','a',1,0,0,'2020-11-18 14:16:43','2020-11-18 14:16:43','手把手教你,抖音去水印(有手就能学会)'),(18,'Hexo-添加代码块边框','CodeBlock','https://cdn.jsdelivr.net/gh/lete114/CDN/BoBoPic/22.jpg','# 前言\n\n如何给`Hexo`代码块添加代码块边框?\n看到其他主题的代码块边框很好看,而且还显示代码语言功能,而自己使用的主题没有代码块边框\n很想用这种功能,很无奈,这样扒别人网站上的样式样式是很繁琐,且枯燥的,就算扒完样式后\n该如何在`Hexo`生成页面的时候给代码块插入样式呢?\n![emoje](https://blog.lete114.top/img/Hexo-add-CodeBlock/2.png)\n\n那么废话不多说,看下面正文\n\n## 正文\n\n1. 在`D:\\Lete\\Blog\\themes\\Yilia-Pro\\scripts\\`下新建`codeblock.js`(名字自定义)\n\n```js\n// 代码块显示代码框以及代码类型\nvar attributes = [\n \'autocomplete=\"off\"\',\n \'autocorrect=\"off\"\',\n \'autocapitalize=\"off\"\',\n \'spellcheck=\"false\"\',\n \'contenteditable=\"false\"\'\n]\n\nvar attributesStr = attributes.join(\' \')\n\nhexo.extend.filter.register(\'after_post_render\', function (data) {\n while (/<figure class=\"highlight ([a-zA-Z]+)\">.*?<\\/figure>/.test(data.content)) {\n data.content = data.content.replace(/<figure class=\"highlight ([a-zA-Z]+)\">.*?<\\/figure>/, function () {\n var language = RegExp.$1 || \'code\'\n var lastMatch = RegExp.lastMatch\n if (language==\'plain\'){\n language=\'code\';\n }\n lastMatch = lastMatch.replace(/<figure class=\"highlight /, \'<figure class=\"iseeu highlight \')\n return \'<div class=\"highlight-wrap\"\' + attributesStr + \'data-rel=\"\'\n + language.replace(language[0],language[0].toUpperCase()) + \'\">\' + lastMatch + \'</div>\'\n })\n }\n return data\n})\n```\n\n2. 在`D:\\Lete\\Blog\\themes\\Yilia-Pro\\source\\css\\`下新建`_highlight`(这个文件夹可选)\n然后新建`codeFrame.styl`\n\n``` styl\n@require \'theme\'\n\n/*Mac代码框样式*/\n\n .highlight-wrap[data-rel]:hover\n transition box-shadow 0.3s ease-in-out\n box-shadow 0 0px 30px 0px rgba(0, 0, 0, 0.4)\n\n .highlight-wrap[data-rel]\n position relative\n overflow hidden\n border-radius 10px\n box-shadow 0 0px 10px 0px rgba(0, 0, 0, 0.4)\n &::before\n content attr(data-rel)\n height 38px\n line-height 38px\n background $highlight-wrap\n color $highlight-foreground\n font-size 16px\n position absolute\n top 0\n left 0\n width 100%\n font-weight bold\n\n if hexo-config(\'highlight_theme\') == mac || hexo-config(\'highlight_theme\') == \'mac light\'\n padding 0px 80px\n text-indent 15px\n float left\n\n if hexo-config(\'highlight_theme\') == mac || hexo-config(\'highlight_theme\') == \'mac light\'\n &::after\n content \' \'\n position absolute\n -webkit-border-radius 50%\n border-radius 50%\n background #fc625d\n width 12px\n height 12px\n top 0\n left 20px\n margin-top 13px\n -webkit-box-shadow 20px 0px #fdbc40, 40px 0px #35cd4b\n box-shadow 20px 0px #fdbc40, 40px 0px #35cd4b\n z-index 3\n```\n新建`diff.styl`\n```styl\n// For diff highlight\nfigure.highlight\n table\n &::-webkit-scrollbar-thumb\n background: $highlight-scrollbar\n\n pre .deletion\n color: $highlight-deletion\n\n pre .addition\n color: $highlight-addition\n\n pre .meta\n color: $highlight-purple\n\n pre\n .comment\n color: $highlight-comment\n\n .variable,\n .attribute,\n .regexp,\n .ruby .constant,\n .xml .tag .title,\n .xml .pi,\n .xml .doctype,\n .html .doctype,\n .css .id,\n .tag .name,\n .css .class,\n .css .pseudo\n color: $highlight-red\n\n .tag\n color: $highlight-aqua\n\n .number,\n .preprocessor,\n .literal,\n .params,\n .constant,\n .command\n color: $highlight-orange\n\n .built_in\n color: $highlight-yellow\n\n .ruby .class .title,\n .css .rules .attribute,\n .string,\n .value,\n .inheritance,\n .header,\n .ruby .symbol,\n .xml .cdata,\n .special,\n .number,\n .formula\n color: $highlight-green\n\n .keyword,\n .title,\n .css .hexcolor\n color: $highlight-aqua\n\n .function,\n .python .decorator,\n .python .title,\n .ruby .function .title,\n .ruby .title .keyword,\n .perl .sub,\n .javascript .title,\n .coffeescript .title\n color: $highlight-blue\n\n .tag .attr,\n .javascript .function\n color: $highlight-purple\n```\n新建`theme.styl`\n```styl\n/*代码颜色处理*/\n\n$highlight_theme = hexo-config(\'highlight_theme\')\n\nif $highlight_theme == \'default\'\n $highlight-wrap = #222d32\n $highlight-background = #263238\n $highlight-current-line = #efefef\n $highlight-selection = #80CBC420\n $highlight-foreground = #EEFFFF\n $highlight-comment = #546E7A\n $highlight-red = #FF5370\n $highlight-orange = #F78C6C\n $highlight-yellow = #FFCB6B\n $highlight-green = #C3E88D\n $highlight-aqua = #89DDFF\n $highlight-blue = #82AAFF\n $highlight-purple = #C792EA\n $highlight-deletion = #BF42BF\n $highlight-addition = #105EDE\n $highlight-gutter = {\n color: alpha($highlight-foreground, .5),\n bg-color: $highlight-background\n }\n $highlight-tools = {\n color: alpha($highlight-foreground, .8),\n bg-color: darken($highlight-background, 2)\n }\n $highlight-scrollbar = darken($highlight-background, 6)\n\nif $highlight_theme == \'darker\' || ($highlight_theme == \'mac\')\n $highlight-wrap = #1c1c1c\n $highlight-background = #212121\n $highlight-current-line = #282a2e\n $highlight-selection = #61616150\n $highlight-foreground = #EEFFFF\n $highlight-comment = #969896\n $highlight-red = #FF5370\n $highlight-orange = #F78C6C\n $highlight-yellow = #FFCB6B\n $highlight-green = #C3E88D\n $highlight-aqua = #89DDFF\n $highlight-blue = #82AAFF\n $highlight-purple = #C792EA\n $highlight-deletion = #BF42BF\n $highlight-addition = #105EDE\n $highlight-mac-border = rgba(0, 0, 0, .4)\n $highlight-gutter = {\n color: alpha($highlight-foreground, .5),\n bg-color: $highlight-background\n }\n $highlight-tools = {\n color: alpha($highlight-foreground, .8),\n bg-color: darken($highlight-background, 2)\n }\n $highlight-scrollbar = darken($highlight-background, 6)\n\nif $highlight_theme == \'pale night\'\n $highlight-wrap = #252938\n $highlight-background = #292D3E\n $highlight-current-line = #393939\n $highlight-selection = #717CB450\n $highlight-foreground = #A6ACCD\n $highlight-comment = #676E95\n $highlight-red = #FF5370\n $highlight-orange = #F78C6C\n $highlight-yellow = #FFCB6B\n $highlight-green = #C3E88D\n $highlight-aqua = #89DDFF\n $highlight-blue = #82AAFF\n $highlight-purple = #C792EA\n $highlight-deletion = #BF42BF\n $highlight-addition = #105EDE\n $highlight-gutter = {\n color: alpha($highlight-foreground, .5),\n bg-color: $highlight-background\n }\n $highlight-tools = {\n color: $highlight-foreground,\n bg-color: darken($highlight-background, 2)\n }\n $highlight-scrollbar = darken($highlight-background, 6)\n\nif $highlight_theme == \'ocean\'\n $highlight-wrap = #0b0d14\n $highlight-background = #0F111A\n $highlight-current-line = #000000\n $highlight-selection = #717CB450\n $highlight-foreground = #8F93A2\n $highlight-comment = rgba(101, 115, 126, .8)\n $highlight-red = #FF5370\n $highlight-orange = #F78C6C\n $highlight-yellow = #FFCB6B\n $highlight-green = #C3E88D\n $highlight-aqua = #89DDFF\n $highlight-blue = #82AAFF\n $highlight-purple = #C792EA\n $highlight-deletion = #BF42BF\n $highlight-addition = #105EDE\n $highlight-gutter = {\n color: alpha($highlight-foreground, .5),\n bg-color: $highlight-background\n }\n $highlight-tools = {\n color: $highlight-foreground,\n bg-color: darken($highlight-background, 2)\n }\n $highlight-scrollbar = darken($highlight-background, 5)\n\nif $highlight_theme == \'light\' || ($highlight_theme == \'mac light\')\n $highlight-wrap = #e6ebf1\n $highlight-background = #F6F8FA\n $highlight-current-line = #00346e\n $highlight-selection = #80CBC440\n $highlight-foreground = #90A4AE\n $highlight-comment = rgba(149, 165, 166, .8)\n $highlight-red = #E53935\n $highlight-orange = #F76D47\n $highlight-yellow = #FFB62C\n $highlight-green = #91B859\n $highlight-aqua = #39ADB5\n $highlight-blue = #6182B8\n $highlight-purple = #7C4DFF\n $highlight-deletion = #BF42BF\n $highlight-addition = #105EDE\n $highlight-mac-border = rgba(144, 164, 174, .4)\n $highlight-gutter = {\n color: alpha($highlight-foreground, .5),\n bg-color: $highlight-background\n }\n $highlight-tools = {\n color: $highlight-foreground,\n bg-color: darken($highlight-background, 5)\n }\n $highlight-scrollbar = darken($highlight-background, 8)\n\nif $highlight_theme == false\n $highlight-wrap = #e6ebf1\n $highlight-background = #F6F8FA\n $highlight-foreground = #90A4AE\n $highlight-selection = #80CBC440\n $highlight-gutter = {\n color: alpha($highlight-foreground, .5),\n bg-color: $highlight-background\n }\n $highlight-tools = {\n color: $highlight-foreground,\n bg-color: darken($highlight-background, 5)\n }\n```\n\n3. 找到主题关于代码块样式相应的文件\n比如这里我已经把Yilia主题的`scss`css预处理封装成`styles`css预处理器了,而且命名为`main.styl`\n在`main.styl`里顶部引用(添加)`@require \'_highlight/theme\'`\n\n4. 然后找到主题下主体`styl`引用文件,我这里改的Yilia主题把他命名为`index.styl`\n引用刚才上面新建的三个`styl`文件\n``` styl\n@import \'_highlight/codeFrame\'\n@import \'_highlight/theme\'\n@import \'_highlight/diff\'\n```\n一般都长这样,有很多`@import`\n![images](https://blog.lete114.top/img/Hexo-add-CodeBlock/4.png)\n\n5. 在主题配置文件里添加\n```yml\n## 代码块样式\nhighlight_theme: mac # default / darker / pale night / light / ocean / mac / mac light / false\n```\n\n6. 配置好后第一次一定要执行`hexo clean`不然不生效\n如果出现代码块与代码框不匹配的可以自己修改相应的css样式,由于各个主题样式都不同,这里我就不演示了(f12是个好东西)\n\n你会发现第一行代码呗挡住了,这是我添加修改的\n``` css\n.article-entry pre, .article-entry .highlight{\n margin-top: 30px;\n}\n```\n\n## 前后对比\n![images](https://blog.lete114.top/img/Hexo-add-CodeBlock/1.png)\n![images](https://blog.lete114.top/img/Hexo-add-CodeBlock/3.png)',1,'CSS','的撒',1,0,0,'2020-11-18 14:20:42','2020-12-11 16:35:03','Hexo-添加代码块边框'),(19,'valine','valine','https://cdn.jsdelivr.net/gh/lete114/CDN/BoBoPic/21.jpg','\n### 前言\n一开始搭建Hexo博客的时间于`2020年4月15日`,当时也是刚接触GitHub不久,把博客搭建起来,并没有给博客添加评论系统,但稍微了解了一下,常见的评论系统如下:\n\n> 1. 畅言\n> 2. 多说\n> 3. Disqus\n> 4. Gitment\n> 5. 网易云跟帖\n\n<br>\n\n![](https://cdn.jsdelivr.net/gh/lete114/[email protected]/BoBoPic/08.jpg)\n\n\n直到最近`5月18号`左右,逛别人博客的时候看到了Valine评论样式,一眼就喜欢上了,打开官网一看配置简单易懂,于是就动手安装于配置,在配置到`LeanCloud`云部署的时候遇到了点问题,文档的教程图片和`LeanCloud`界面不符合,`LeanCloud`改了界面UI,导致我无法按照教程来配置`LeanCloud`,自己网上搜教程,大部分都和文档教程图片一样`(未解决)`,于是自己琢磨了一天(`特别是配置环境变量那个步骤`,一不小心就得从头看起,因为我大脑无法直接读取大写的英文单词,还得在大脑里转换成小写,反复多了就容易忘),终于成功了,并且邮箱也收到了提醒。\n\n**文档:**[https://github.com/lete114/Valine-Admin/blob/master/README.md](https://github.com/lete114/Valine-Admin/blob/master/README.md)\n\n此文章写给遇到类似`Lete乐特`一样的困惑、问题的用户,其次是方便自己,生怕自己给忘了。\n\n### 安装\n首先前往 [LeanCloud](https://leancloud.cn/) 点击右上角的控制台,注册一个账号\n\n##### 1.创建应用\n\n`创建应用`->`应用名称随意`->`点击创建`\n\n##### 2.Hexo设置\n\n1.在`Hexo\\themes\\yilia\\_config.yml`配置文件内添加 (注意把里面的`APP ID`和`APP KEY`换成应用中的信息如下图)\n\n``` bash\n#6、Valine https://valine.js.org\nvaline: \n appid: \'APP ID\' #Leancloud应用的appId\n appkey: \'APP KEY\' #Leancloud应用的appKey\n verify: false #验证码\n notify: false #评论回复提醒\n avatar: retro #评论列表头像类型可见: https://valine.js.org/avatar.html\n placeholder: Just go go #评论框占位符\n```\n![](https://cdn.jsdelivr.net/gh/lete114/CDN/Valine/01.png)\n\n<br>\n\n2.在`Hexo\\themes\\yilia\\layout\\_partial\\article.ejs`文件内添加如下代码(位置随意)\n\n<br>\n\n``` bash\n<% if (theme.valine && theme.valine.appid && theme.valine.appkey){ %>\n <section id=\"comments\" style=\"margin:10px;padding:10px;background:#fff;\">\n <%- partial(\'post/valine\', {\n key: post.slug,\n title: post.title,\n url: config.url+url_for(post.path)\n }) %>\n </section>\n <% } %>\n```\n\n<br>\n\n3.在`Hexo\\themes\\yilia\\layout/_partial/post/`下新建`valine.ejs`内容\n\n<br>\n\n``` bash\n<div id=\"vcomment\" class=\"comment\"></div> \n<script src=\"//cdn1.lncld.net/static/js/3.0.4/av-min.js\"></script>\n<script src=\"//unpkg.com/valine/dist/Valine.min.js\"></script>\n<script>\n var notify = \'<%= theme.valine.notify %>\' == true ? true : false;\n var verify = \'<%= theme.valine.verify %>\' == true ? true : false;\n window.onload = function() {\n new Valine({\n el: \'.comment\',\n notify: notify,\n verify: verify,\n app_id: \"<%= theme.valine.appid %>\",\n app_key: \"<%= theme.valine.appkey %>\",\n placeholder: \"<%= theme.valine.placeholder %>\",\n avatar:\"<%= theme.valine.avatar %>\"\n });\n }\n</script>\n\n```\n\n##### 配置LeanCloud\n\n1.Web 安全域名\n\n为方便开发调试,localhost 总是会被放行,所以无需配置`http://localhost:4000/`\n![](https://cdn.jsdelivr.net/gh/lete114/CDN/Valine/02.png)\n\n2.配置LeanCloud环境变量\n\n\n变量 | 示例 | 说明\n--- | ------ | ------\nSITE_NAME | Lete乐特个人博客 | [必填]博客名称\nSITE_URL | https://lete114.now.sh | [必填]首页地址 \nSMTP_SERVICE | QQ | [新版支持]邮件服务提供商,支持 QQ、163、126、Gmail 以及 [更多](https://nodemailer.com/smtp/well-known/#supported-services)\nSMTP_USER | [email protected] | [必填]SMTP登录用户`(看下方内容)`\nSMTP_PASS | xxxxxxxxxxx | [必填]SMTP授权码`(看下方内容)`\nSENDER_NAME | Lete乐特 | [必填]发件人 \nSENDER_EMAIL | [email protected] | [必填]发件邮箱\nADMIN_URL | https://xxx.leanapp.cn/ | [建议]Web主机二级域名,用于自动唤醒\nBLOGGER_EMAIL | [email protected] | [可选]博主通知收件地址,默认使用SENDER_EMAIL\nAKISMET_KEY | xxxxxxxxxxxx | [可选]Akismet Key 用于垃圾评论检测,设为MANUAL_REVIEW开启人工审核,留空不使用反垃圾\n**以上必填参数请务必正确设置**\n\n### SMTP_USER 邮件服务提供商 与 SMTP_PASS SMTP授权码\n以QQ邮箱为例\n\n下面验证密保打错字了无视即可\n![](https://cdn.jsdelivr.net/gh/lete114/CDN/Valine/08.png)\n![](https://cdn.jsdelivr.net/gh/lete114/CDN/Valine/09.png)\n![](https://cdn.jsdelivr.net/gh/lete114/CDN/Valine/10.png)\n![](https://cdn.jsdelivr.net/gh/lete114/CDN/Valine/11.png)\n\n\n3.部署生产环境\n![](https://cdn.jsdelivr.net/gh/lete114/CDN/Valine/03.png)\n\n4.定时任务设置\n\n**目前实现了两种云函数定时任务:**\n\n> 1.自动唤醒\n Cron表达式为 `0 0/30 7-23 * * ?` 表示每天早7点到晚23点每隔30分钟访问云引擎\n> 2.每天定时检查24小时内漏发的邮件通知\n Cron表达式为 `0 0 8 * * ?` 定时检查24小时内漏发的邮件通知\n\n![](https://cdn.jsdelivr.net/gh/lete114/CDN/Valine/04.png)\n![](https://cdn.jsdelivr.net/gh/lete114/CDN/Valine/05.png)\n\n**至此 `Valine Admin` 已经可以正常工作,更多以下是可选的进阶配置**\n\n5.邮件通知模板\n\n环境变量 | 示例 | 说明\n--- | ------ | ------\nMAIL_SUBJECT | ${PARENT_NICK},您在${SITE_NAME}上的评论收到了回复 | [可选]@通知邮件主题(标题)模板\nMAIL_TEMPLATE | 见下文 | [可选]@通知邮件内容模板(别人回复评论后,邮箱显示的模板)\nMAIL_SUBJECT_ADMIN | ${SITE_NAME}上有新评论了 | [可选]博主邮件通知主题模板\nMAIL_TEMPLATE_ADMIN | 见下文 | [可选]博主邮件通知内容模板(别人在你博客评论后,邮箱通知显示的模板)\n\n<br>\n\n**注:**(这是邮件模板变量,虽然一眼望去感觉,`变量名`与`云引擎环境变量名`很接近但还是有区别的,请勿与云引擎环境变量混淆)\n\n@通知模板中的可用变量如下:\n\n模板变量 | 说明\n----|----\nSITE_NAME | 博客名称\nSITE_URL | 博客首页地址\nPOST_URL | 文章地址(完整路径)\nPARENT_NICK | 收件人昵称(被@者,父级评论人)\nPARENT_COMMENT | 父级评论内容\nNICK | 新评论者昵称\nCOMMENT | 新评论内容\n\n<br>\n\n### MAIL_TEMPLATE \n@通知邮件内容模板如下:\n\n\n``` html\n<div style=\"border-radius: 10px 10px 10px 10px;font-size:13px; color: #555555;width: 666px;font-family:\'Century Gothic\',\'Trebuchet MS\',\'Hiragino Sans GB\',微软雅黑,\'Microsoft Yahei\',Tahoma,Helvetica,Arial,\'SimSun\',sans-serif;margin:50px auto;border:1px solid #eee;max-width:100%;background: #ffffff repeating-linear-gradient(-45deg,#fff,#fff 1.125rem,transparent 1.125rem,transparent 2.25rem);box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);\"><div style=\"width:100%;background:#49BDAD;color:#ffffff;border-radius: 10px 10px 0 0;background-image: -moz-linear-gradient(0deg, rgb(67, 198, 184), rgb(255, 209, 244));background-image: -webkit-linear-gradient(0deg, rgb(67, 198, 184), rgb(255, 209, 244));height: 66px;\"><p style=\"font-size:15px;word-break:break-all;padding: 23px 32px;margin:0;background-color: hsla(0,0%,100%,.4);border-radius: 10px 10px 0 0;\">您在<a style=\"text-decoration:none;color: #ffffff;\" href=\"${SITE_URL}\"> ${SITE_NAME}</a>上的留言有新回复啦!</p></div><div style=\"margin:40px auto;width:90%\"><p>${PARENT_NICK} 同学,您曾在文章上发表评论:</p><div style=\"background: #fafafa repeating-linear-gradient(-45deg,#fff,#fff 1.125rem,transparent 1.125rem,transparent 2.25rem);box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);margin:20px 0px;padding:15px;border-radius:5px;font-size:14px;color:#555555;\">${PARENT_COMMENT}</div><p>${NICK} 给您的回复如下:</p><div style=\"background: #fafafa repeating-linear-gradient(-45deg,#fff,#fff 1.125rem,transparent 1.125rem,transparent 2.25rem);box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);margin:20px 0px;padding:15px;border-radius:5px;font-size:14px;color:#555555;\">${COMMENT}</div><p>您可以点击<a style=\"text-decoration:none; color:#12addb\" href=\"${POST_URL}#comments\">查看回复的完整內容</a>,欢迎再次光临<a style=\"text-decoration:none; color:#12addb\" href=\"${SITE_URL}\"> ${SITE_NAME}</a>。</p><style type=\"text/css\">a:link{text-decoration:none}a:visited{text-decoration:none}a:hover{text-decoration:none}a:active{text-decoration:none}</style></div></div>\n```\n\n<br>\n\n为方便修改我把上面的模板格式化了\n\n<br>\n\n``` html\n<div style=\"border-radius: 10px 10px 10px 10px;font-size:13px; color: #555555;width: 666px;font-family:\'Century Gothic\',\'Trebuchet MS\',\'Hiragino Sans GB\',微软雅黑,\'Microsoft Yahei\',Tahoma,Helvetica,Arial,\'SimSun\',sans-serif;margin:50px auto;border:1px solid #eee;max-width:100%;background: #ffffff repeating-linear-gradient(-45deg,#fff,#fff 1.125rem,transparent 1.125rem,transparent 2.25rem);box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);\">\n <div style=\"width:100%;background:#49BDAD;color:#ffffff;border-radius: 10px 10px 0 0;background-image: -moz-linear-gradient(0deg, rgb(67, 198, 184), rgb(255, 209, 244));background-image: -webkit-linear-gradient(0deg, rgb(67, 198, 184), rgb(255, 209, 244));height: 66px;\">\n <p style=\"font-size:15px;word-break:break-all;padding: 23px 32px;margin:0;background-color: hsla(0,0%,100%,.4);border-radius: 10px 10px 0 0;\">您在<a style=\"text-decoration:none;color: #ffffff;\" href=\"${SITE_URL}\"> ${SITE_NAME}</a>上的留言有新回复啦!</p>\n </div>\n <div style=\"margin:40px auto;width:90%\">\n <p>${PARENT_NICK} 同学,您曾在文章上发表评论:</p>\n <div style=\"background: #fafafa repeating-linear-gradient(-45deg,#fff,#fff 1.125rem,transparent 1.125rem,transparent 2.25rem);box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);margin:20px 0px;padding:15px;border-radius:5px;font-size:14px;color:#555555;\">${PARENT_COMMENT}</div>\n <p>${NICK} 给您的回复如下:</p>\n <div style=\"background: #fafafa repeating-linear-gradient(-45deg,#fff,#fff 1.125rem,transparent 1.125rem,transparent 2.25rem);box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);margin:20px 0px;padding:15px;border-radius:5px;font-size:14px;color:#555555;\">${COMMENT}</div>\n <p>您可以点击<a style=\"text-decoration:none; color:#12addb\" href=\"${POST_URL}#comments\">查看回复的完整內容</a>,欢迎再次光临<a style=\"text-decoration:none; color:#12addb\" href=\"${SITE_URL}\"> ${SITE_NAME}</a>。</p>\n <style type=\"text/css\">\n a:link {\n text-decoration: none\n }\n \n a:visited {\n text-decoration: none\n }\n \n a:hover {\n text-decoration: none\n }\n \n a:active {\n text-decoration: none\n }\n </style>\n </div>\n</div>\n```\n\n##### @通知邮件内容模板 效果如图:\n![](https://cdn.jsdelivr.net/gh/lete114/CDN/Valine/06.png)\n\n\n<br>\n\n### MAIL_TEMPLATE_ADMIN\n默认博主通知邮件内容模板如下:\n\n```html\n<div style=\"border-top:2px solid #12ADDB;box-shadow:0 1px 3px #AAAAAA;line-height:180%;padding:0 15px 12px;margin:50px auto;font-size:12px;\"><h2 style=\"border-bottom:1px solid #DDD;font-size:14px;font-weight:normal;padding:13px 0 10px 8px;\">您在<a style=\"text-decoration:none;color: #12ADDB;\" href=\"${SITE_URL}\" target=\"_blank\">${SITE_NAME}</a>上的文章有了新的评论</h2><p><strong>${NICK}</strong>回复说:</p><div style=\"background-color: #f5f5f5;padding: 10px 15px;margin:18px 0;word-wrap:break-word;\"> ${COMMENT}</div><p>您可以点击<a style=\"text-decoration:none; color:#12addb\" href=\"${POST_URL}\" target=\"_blank\">查看回复的完整內容</a><br></p></div></div>\n```\n\n<br>\n\n为方便修改我把上面的模板格式化了\n\n<br>\n\n```html\n<div style=\"border-top:2px solid #12ADDB;box-shadow:0 1px 3px #AAAAAA;line-height:180%;padding:0 15px 12px;margin:50px auto;font-size:12px;\">\n <h2 style=\"border-bottom:1px solid #DDD;font-size:14px;font-weight:normal;padding:13px 0 10px 8px;\">您在\n <a style=\"text-decoration:none;color: #12ADDB;\" href=\"${SITE_URL}\" target=\"_blank\">${SITE_NAME}</a> 上的文章有了新的评论\n </h2>\n <p>\n <strong>${NICK}</strong> 回复说:\n </p>\n <div style=\"background-color: #f5f5f5;padding: 10px 15px;margin:18px 0;word-wrap:break-word;\"> ${COMMENT}</div>\n <p>您可以点击\n <a style=\"text-decoration:none; color:#12addb\" href=\"${POST_URL}\" target=\"_blank\">查看回复的完整內容</a>\n <br>\n </p>\n</div>\n</div>\n```\n\n##### 默认博主通知邮件内容模板 效果如图:\n![](https://cdn.jsdelivr.net/gh/lete114/CDN/Valine/07.png)\n\n至此 `Valine Admin `的邮箱提醒 已经可以正常工作\n什么??看到这里还不明白???\n可以看看我新写的更详细文章:https://blog.lete114.top/article/Valine-LeanCloud-Config.html\n\n### 【Lete乐特个人博客】:https://lete114.now.sh',1,'CSS','valine',1,0,0,'2020-11-19 10:38:38','2020-11-19 10:38:38','valine'),(20,'aaa','aaa','https://cdn.jsdelivr.net/gh/lete114/CDN/BoBoPic/20.jpg','aaaaaaaaaaa',1,'CSS','aaa',0,0,0,'2020-11-29 17:49:13','2020-11-29 18:04:53','aaaa'),(21,'bbbbb','bbbbb','https://cdn.jsdelivr.net/gh/lete114/CDN/BoBoPic/19.jpg','bbbbbbbbbbbb',1,'CSS','bbb',1,0,0,'2020-11-29 18:51:48','2020-11-29 18:51:48','bbbbbbbb'),(22,'Butterfly主题美化-无修改源码 (持续更新中...)','Butterfly-config','https://cdn.jsdelivr.net/gh/lete114/CDN/BoBoPic/18.jpg','\n# 前言\n\n<div class=\"note success\">\n <p>此篇文章会持续随着 <code>Butterfly主题</code>版本更新,如果你喜欢那就 <code>Ctrl+D</code> 吧</p>\n</div>\n\n<div class=\"note success\">\n <p>此次修改<code>无修改源码</code>,全部采用外部引用 <code>JS</code>、<code>CSS</code> 覆盖实现<br>可放心使用,后期如需主题升级,可直接根据主题作者文档升级即可。</p>\n</div>\n\n<div class=\"note danger\">\n <p>此片文章是根据 <code>Butterfly-Master</code>(稳定版) 分支更新的<br>如果你使用的是 <code>Buutterfly-Dev</code>(开发版) 的话<br>遇到的一切问题本贴不给予回复处理</p>\n</div>\n\n## 问题\n\n1. 安装或者切换主题后`hexo s` 打开`http://localhost:4000/`后抱错\n\n``` code\nextends includes/layout.pug block content #recent-posts.recent-posts include includes/recent-posts.pug include includes/pagination.pug\n```\n\n未安装`pug`依赖和`渲染插件`依赖\n\n``` bash\nnpm install hexo-renderer-pug hexo-renderer-stylus --save\n```\n\n## CSS修改\n\n新建`Hexo-Butterfly\\themes\\Butterfly-Master\\source\\css\\Lete.css`(css文件名自定义)\n\n### 自定义字体\n\n``` css\n/* 自定义字体 */\n@font-face {\n font-family: \'sleek\';\n src: url(\'https://cdn.jsdelivr.net/gh/lete114/CDN2/zaxiang/sleek.woff2\');\n}\n```\n\n打开主题配置文件,找到\n\n``` yml\n# Global font settings\n# Don\'t modify the following settings unless you know how they work (非必要不要修改)\nfont:\n font-family: \'sleek\' # 全局字体\n code-font: \'sleek\' # 如果你想让代码块也使用自定义字体\n```\n\n### UP酱\n\n``` css\n\n/* 隐藏回到顶部按钮,替换为up酱 */\n\n#go-up i {\n display: none;\n background-color: transparent !important;\n}\n\n#go-up {\n background-color: transparent !important;\n}\n\n#upj {\n transform: translate(-70px, -80px) !important;\n}\n\n```\n\n``` css\n/*新版3.0.0以上添加up酱置顶ico图标上移问题*/\n.fas.fa-arrow-up {\n line-height: 2;\n}\n```\n\n### 目录折叠按钮颜色\n\n也就是左下角的那个按钮\n\n```css\n/* 目录隐藏按钮颜色 */\n\n#toggle-sidebar {\n color: #e58a8a !important;\n}\n\n```\n\n### 版权去划线\n\n``` css\n/* 版权链接去掉下划线 */\n\n.layout_post .post-copyright .post-copyright-info a {\n text-decoration: none;\n}\n```\n\n### 博主昵称颜色\n\n也就是首页侧边栏头像下面那个昵称\n\n``` css\n/* 博主昵称颜色 */\n.author-info__name {\n color: #ff7242;\n}\n```\n\n### 评论框样式优化\n\n```css\n/* 评论框 */\n\n.vwrap {\n box-shadow: 2px 2px 5px #bbb;\n background: rgba(255, 255, 255, 0.3);\n border-radius: 8px;\n padding: 30px;\n margin: 30px 0px 30px 0px;\n}\n\n\n/* 提交按钮 */\n\n#vcomment button {\n padding: 0.3rem 0.8rem;\n border-color: #fff;\n background-color: #e58a8a;\n color: #fff;\n font-size: 0.7rem;\n -webkit-transition: all 0.3s;\n -moz-transition: all 0.3s;\n -o-transition: all 0.3s;\n -ms-transition: all 0.3s;\n transition: all 0.3s;\n}\n\n\n/* 评论区代码块 */\n\n.v[data-class=v] code {\n color: #c7254e;\n background-color: #F9F2F4;\n}\n/* 设置评论框 */\n\n.vcard {\n box-shadow: 2px 2px 5px #bbb;\n background: rgba(255, 255, 255, 0.3);\n border-radius: 8px;\n padding: 30px;\n margin: 30px 0px 0px 0px;\n}\n\n\n/* 取消回复聊天框 */\n\n.vquote .vcard {\n box-shadow: 2px 2px 5px transparent;\n background: rgba(255, 255, 255, 0.0);\n padding: 0px;\n}\n\n```\n\n### 页脚透明\n\n```css\n/* 页脚透明 */\n\n#footer {\n background: transparent !important;\n}\n\n```\n\n### a标签颜色\n\n``` css\n/* a标签默认颜色 */\n\n#article-container a {\n color: #00c4b6;\n text-decoration: none;\n}\n\n/* 鼠标悬停时的颜色 */\n\n#article-container a:hover {\n color: #e58a8a;\n text-decoration: none;\n}\n/*a标签颜色*/\na {\n color: #00c4b6;\n}\n```\n\n### 首页博客昵称颜色\n\n```css\n/* 首页中间打字效果上方 */\n#page-header #site_title {\n color: #80bdab;\n}\n/* 顶部导航栏 */\n#nav a {\n color: #f9f2f4;\n}\n```\n\n### 页脚超链接\n\n``` css\n/*页脚a标签字体颜色*/\n#footer-wrap a {\n color: #00c4b6;\n}\n```\n\n### 页脚字体颜色\n\n``` css\n/*页脚自定义字段字体颜色*/\n/* 也就是配置文件里的footer_custom_text */\n.footer_custom_text {\n color: #00c4b6;\n}\n```\n\n### 手机端显示\n\n```css\n/*移动端优化:去除归档、标签、最新文章、公告、、只保留网站统计*/\n\n@media screen and (max-width: 800px) {\n #aside_content div:not(:last-child) {\n display: none;\n font-size: 13px;\n }\n}\n```\n\n### 鼠标样式\n\n```css\n/* 鼠标图标 */\n\nbody {\n cursor: url(https://cdn.jsdelivr.net/gh/lete114/[email protected]/Use/Jkll8I.png), auto;\n}\n\n\n/*a标签*/\n\na:hover {\n cursor: url(https://cdn.jsdelivr.net/gh/lete114/[email protected]/Use/JkuClT.png), auto;\n}\n\n\n/*按钮*/\n\nbutton:hover {\n cursor: url(https://cdn.jsdelivr.net/gh/lete114/[email protected]/Use/JkuClT.png), auto;\n}\n\n#rightside>div>button,\n#rightside>div>a {\n display: block;\n margin-bottom: 2px;\n width: 30px;\n height: 30px;\n color: var(--btn-color);\n text-align: center;\n font-size: 16px;\n cursor: url(https://cdn.jsdelivr.net/gh/lete114/[email protected]/Use/JkuClT.png), auto;\n}\n\n\n/* 打赏 */\n\n.post-reward .reward-button {\n cursor: url(https://cdn.jsdelivr.net/gh/lete114/[email protected]/Use/JkuClT.png), auto;\n}\n\n\n/* 文章标签 */\n\n.layout_post .tag_share .post-meta__tags {\n cursor: url(https://cdn.jsdelivr.net/gh/lete114/[email protected]/Use/JkuClT.png), auto;\n}\n\n\n/* 评论区 */\n\n.vcol * {\n cursor: url(https://cdn.jsdelivr.net/gh/lete114/[email protected]/Use/JkuClT.png), auto;\n}\n\n.v[data-class=v] .vicon {\n cursor: url(https://cdn.jsdelivr.net/gh/lete114/[email protected]/Use/JkuClT.png), auto;\n}\n\n.v[data-class=v] .vbtn {\n cursor: url(https://cdn.jsdelivr.net/gh/lete114/[email protected]/Use/JkuClT.png), auto;\n}\n\n\n/* 回复 */\n\n.vat {\n cursor: url(https://cdn.jsdelivr.net/gh/lete114/[email protected]/Use/JkuClT.png), auto;\n}\n\n\n/*i标签*/\n\ni:hover {\n cursor: url(https://cdn.jsdelivr.net/gh/lete114/[email protected]/Use/JkuClT.png), auto;\n}\n\n\n/*up酱*/\n\n#upj:hover {\n cursor: url(https://cdn.jsdelivr.net/gh/lete114/[email protected]/Use/JkuClT.png), auto;\n}\n\n\n/*页脚a标签*/\n\n#footer-wrap a:hover {\n text-decoration: none;\n cursor: url(https://cdn.jsdelivr.net/gh/lete114/[email protected]/Use/JkuClT.png), auto;\n}\n\n\n/*分页器*/\n\n#pagination .page-number:hover {\n cursor: url(https://cdn.jsdelivr.net/gh/lete114/[email protected]/Use/JkuClT.png), auto;\n}\n/* 分页器的三个点(...) */\n.space {\n color: #00c4b6;\n}\n\n```\n\n### 滚动条\n\n``` css\n/* 滚动条 */\n\n::-webkit-scrollbar {\n width: 10px;\n height: 10px;\n}\n\n::-webkit-scrollbar-thumb {\n background-color: #e58a8a;\n background-image: -webkit-linear-gradient( 45deg, rgba(255, 255, 255, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 75%, transparent 75%, transparent);\n border-radius: 2em;\n}\n\n::-webkit-scrollbar-corner {\n background-color: transparent;\n}\n\n::-moz-selection {\n color: #fff;\n background-color: #e58a8a;\n}\n```\n\n### 打字效果渐变\n``` css\n/* 打字效果渐变 */\n\n@-webkit-keyframes Gradient {\n 0% {\n background-position: 0 50%;\n }\n 50% {\n background-position: 100% 50%;\n }\n 100% {\n background-position: 0 50%;\n }\n}\n\n@-moz-keyframes Gradient {\n 0% {\n background-position: 0 50%;\n }\n 50% {\n background-position: 100% 50%;\n }\n 100% {\n background-position: 0 50%;\n }\n}\n\n@keyframes Gradient {\n 0% {\n background-position: 0 50%;\n }\n 50% {\n background-position: 100% 50%;\n }\n 100% {\n background-position: 0 50%;\n }\n}\n\n#subtitle {\n background: linear-gradient(-45deg, #ee7752, #ce3e75, #23a6d5, #23d5ab);\n background-size: 400% 400%;\n -webkit-animation: Gradient 10s ease infinite;\n -moz-animation: Gradient 10s ease infinite;\n animation: Gradient 10s ease infinite;\n -o-user-select: none;\n -ms-user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n border-top-left-radius: 10px;\n border-top-right-radius: 10px;\n}\n\n#subtitle:before {\n background-color: rgba(0, 0, 0, 0);\n}\n\n```\n\n## JS修改\n\n新建`Hexo-Butterfly\\themes\\Butterfly-Master\\source\\js\\Lete.js`(js文件名自定义)\n\n### UP酱\n\n``` js\n/*添加图片top*/\nvar top_up = \"<img id=\'upj\' class=\'upj\' style=\'max-width: 1000%; transform: translate(-70px,-70px);\' src=\'https://cdn.jsdelivr.net/gh/lete114/CDN/Use/up.gif\' title=\'回到顶部\' >\";\n/*添加到返回顶部按钮下*/\ndocument.getElementById(\"go-up\").innerHTML += top_up;\n```\n\n### 手机端\n\n``` js\n/* 手机客户端导航栏默认隐藏 */\nvar mobile_sidebar_menus = document.getElementById(\"mobile-sidebar-menus\");\nvar menus_item_child = mobile_sidebar_menus.getElementsByClassName(\"menus_item_child\");\nvar menus_expand = mobile_sidebar_menus.getElementsByClassName(\"expand\");\nfor (var i = 0; i < menus_item_child.length; i++) {\n menus_item_child[i].style.display = \"none\";\n menus_expand[i].className += \" closed\";\n}\n```\n\n### 卖萌标题\n\n``` js\n// 可爱的Title\nvar OriginTitle = document.title;\nvar titleTime;\ndocument.addEventListener(\'visibilitychange\', function() {\n if (document.hidden) {\n $(\'[rel=\"icon\"]\').attr(\'href\', \"/img/favicon.ico\");\n document.title = \'(つェ⊂) 我藏好了哦~~\';\n clearTimeout(titleTime);\n } else {\n $(\'[rel=\"icon\"]\').attr(\'href\', \"/img/favicon.ico\");\n document.title = \'(*´∇`*) 被你发现啦~~\' + OriginTitle;\n titleTime = setTimeout(function() {\n document.title = OriginTitle;\n }, 2000);\n }\n});\n```\n\n### 气泡\n\n``` js\n// 气泡\nfunction qipao() {\n $(\'#page-header\').circleMagic({\n radius: 10,\n density: .2,\n color: \'rgba(255,255,255,.4)\',\n clearOffset: 0.99\n });\n}! function(p) {\n p.fn.circleMagic = function(t) {\n var o, a, n, r, e = !0,\n i = [],\n d = p.extend({ color: \"rgba(255,0,0,.5)\", radius: 10, density: .3, clearOffset: .2 }, t),\n l = this[0];\n\n function c() { e = !(document.body.scrollTop > a) }\n\n function s() { o = l.clientWidth, a = l.clientHeight, l.height = a + \"px\", n.width = o, n.height = a }\n\n function h() {\n if (e)\n for (var t in r.clearRect(0, 0, o, a), i) i[t].draw();\n requestAnimationFrame(h)\n }\n\n function f() {\n var t = this;\n\n function e() { t.pos.x = Math.random() * o, t.pos.y = a + 100 * Math.random(), t.alpha = .1 + Math.random() * d.clearOffset, t.scale = .1 + .3 * Math.random(), t.speed = Math.random(), \"random\" === d.color ? t.color = \"rgba(\" + Math.floor(255 * Math.random()) + \", \" + Math.floor(0 * Math.random()) + \", \" + Math.floor(0 * Math.random()) + \", \" + Math.random().toPrecision(2) + \")\" : t.color = d.color }\n t.pos = {}, e(), this.draw = function() { t.alpha <= 0 && e(), t.pos.y -= t.speed, t.alpha -= 5e-4, r.beginPath(), r.arc(t.pos.x, t.pos.y, t.scale * d.radius, 0, 2 * Math.PI, !1), r.fillStyle = t.color, r.fill(), r.closePath() }\n }! function() {\n o = l.offsetWidth, a = l.offsetHeight,\n function() {\n var t = document.createElement(\"canvas\");\n t.id = \"canvas\", t.style.top = 0, t.style.zIndex = 0, t.style.position = \"absolute\", l.appendChild(t), t.parentElement.style.overflow = \"hidden\"\n }(), (n = document.getElementById(\"canvas\")).width = o, n.height = a, r = n.getContext(\"2d\");\n for (var t = 0; t < o * d.density; t++) {\n var e = new f;\n i.push(e)\n }\n h()\n }(), window.addEventListener(\"scroll\", c, !1), window.addEventListener(\"resize\", s, !1)\n }\n}(jQuery);\n\n// 调用气泡方法\nqipao();\n\n```\n\n### 页脚博主\n\n``` js\n$(document).ready(function(e) {\n $(\'.copyright\').html(\'©2020 <i style=\"color:#FF6A6A;animation: announ_animation 0.8s linear infinite;\" class=\"fa fa-heartbeat\"></i> Lete乐特\');\n});\n```\n\n## 引入\n\n打开主题配置文件找到`inject`\n在`bottom`下添加\n``` yml\n bottom:\n - <link rel=\"stylesheet\" href=\"https://blog.lete114.top/css/Lete.css\">\n - <script data-pjax src=\"https://blog.lete114.top/js/Lete.js\"></script>\n```\n## 持续更新...\n\nCSS:[https://blog.lete114.top/css/Lete.css](https://blog.lete114.top/css/Lete.css)\nJS:[https://blog.lete114.top/js/Lete.js](https://blog.lete114.top/js/Lete.js)\n',1,'CSS','a',1,0,0,'2020-12-11 20:46:30','2020-12-11 20:46:30','Hexo-Theme-Butterfly主题美化、个性美化、调色、优化详细教程、主题配置文件讲解');
/*Table structure for table `category` */
DROP TABLE IF EXISTS `category`;
CREATE TABLE `category` (
`categoryId` int(11) NOT NULL AUTO_INCREMENT COMMENT '分类表主键',
`categoryName` varchar(50) NOT NULL COMMENT '分类的名称',
`createTime` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`categoryId`)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;
/*Data for the table `category` */
insert into `category`(`categoryId`,`categoryName`,`createTime`) values (1,'CSS','2020-11-13 17:49:34'),(2,'HTML','2020-11-14 17:48:33'),(26,'日常笔记','2020-11-15 18:20:11');
/*Table structure for table `comment` */
DROP TABLE IF EXISTS `comment`;
CREATE TABLE `comment` (
`commentId` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`blogId` bigint(20) NOT NULL DEFAULT '0' COMMENT '关联的blog主键',
`nick` varchar(50) NOT NULL DEFAULT '' COMMENT '昵称',
`email` varchar(100) NOT NULL DEFAULT '' COMMENT '邮箱',
`link` varchar(50) NOT NULL DEFAULT '' COMMENT '网址',
`content` varchar(200) NOT NULL DEFAULT '' COMMENT '内容',
`commentatorIP` varchar(20) NOT NULL DEFAULT '' COMMENT 'ip地址',
`createTime` datetime DEFAULT NULL COMMENT '评论时间',
`isReply` int(4) DEFAULT '0' COMMENT '是否是回复 0为否 1为是',
`commentStatus` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否审核通过 0-未审核 1-审核通过',
`commentUrl` varchar(100) NOT NULL COMMENT '评论的地址',
PRIMARY KEY (`commentId`)
) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=utf8;
/*Data for the table `comment` */
insert into `comment`(`commentId`,`blogId`,`nick`,`email`,`link`,`content`,`commentatorIP`,`createTime`,`isReply`,`commentStatus`,`commentUrl`) values (1,22,'乐特','[email protected]','https://lete114.top','Test','127.0.0.1','2020-12-14 00:00:00',0,1,'http://localhost:4000/'),(2,17,'Test','asda','sda','sda','1asd','2020-01-01 00:00:00',0,1,'http://localhost:4000/'),(9,17,'Lete乐特','[email protected]','/','aaa','127.0.0.1','2020-12-16 13:21:10',2,1,'http://localhost:4000/'),(10,17,'Lete乐特','[email protected]','/','bbb','127.0.0.1','2020-12-17 13:23:11',2,1,'http://localhost:4000/'),(11,17,'Test1','Test1','Test1','Test1','Test1','2020-12-18 00:00:00',2,1,'http://localhost:4000/'),(12,17,'Test2','Test2','Test2','Test2','Test2','2020-12-01 02:00:00',0,1,'http://localhost:4000/'),(13,17,'Test3','Test3','Test3','Test3','Test3','2020-12-02 00:00:00',12,1,'http://localhost:4000/'),(14,17,'Lete乐特','[email protected]','https://lete114.top','Test1','0:0:0:0:0:0:0:1',NULL,0,1,'http://localhost:4000/'),(15,22,'q','[email protected]','e','r','20.0.84.171',NULL,0,1,'http://localhost:4000/'),(16,22,'a','[email protected]','c','alert(1)','20.0.84.171',NULL,15,1,'http://localhost:4000/'),(17,22,'Lete乐特','[email protected]','https://lete114.top','a','0:0:0:0:0:0:0:1','2020-12-16 22:51:38',NULL,1,'http://localhost:4000/'),(18,22,'Lete乐特','[email protected]','https://lete114.top','Test2','0:0:0:0:0:0:0:1','2020-12-16 23:01:52',0,1,'http://localhost:4000/'),(19,22,'Lete乐特','[email protected]','https://lete114.top','Test3','0:0:0:0:0:0:0:1','2020-12-16 23:04:25',0,1,'http://localhost:4000/'),(20,22,'Lete乐特','[email protected]','https://lete114.top','Test4','0:0:0:0:0:0:0:1','2020-12-16 23:05:19',0,1,'http://localhost:4000/'),(21,22,'Lete乐特','[email protected]','https://lete114.top','Test5','0:0:0:0:0:0:0:1','2020-12-16 23:25:05',20,1,'http://localhost:4000/'),(22,22,'Lete乐特','[email protected]','https://lete114.top','Test6','0:0:0:0:0:0:0:1','2020-12-17 12:05:13',0,1,'http://localhost:4000/'),(23,22,'Lete乐特','[email protected]','https://lete114.top','Test7','0:0:0:0:0:0:0:1','2020-12-17 12:05:53',22,1,'http://localhost:4000/'),(24,22,'Lete乐特','[email protected]','https://lete114.top','Test8','0:0:0:0:0:0:0:1','2020-12-17 12:24:49',22,1,'http://localhost:4000/'),(25,22,'Lete乐特','[email protected]','https://lete114.top','Test9','0:0:0:0:0:0:0:1','2020-12-17 14:53:04',0,1,'http://localhost:4000/'),(26,22,'锟斤拷','[email protected]','https://lete114.top','Test10','0:0:0:0:0:0:0:1','2020-12-17 14:53:56',0,1,'http://localhost:4000/'),(27,21,'锟斤拷','[email protected]','https://lete114.top','Test1','0:0:0:0:0:0:0:1','2020-12-19 02:35:00',0,1,'http://localhost:4000/'),(28,21,'锟斤拷','[email protected]','https://lete114.top','Test2','0:0:0:0:0:0:0:1','2020-12-19 03:04:50',0,1,'http://localhost:4000/'),(29,21,'锟斤拷','[email protected]','https://lete114','Test2','0:0:0:0:0:0:0:1','2020-12-19 03:05:48',0,1,'http://localhost:4000/'),(30,21,'锟斤拷','[email protected]','https://lete114.top','Test<img class=\"vemoji\" src=\"https://cdn.jsdelivr.net/gh/lete114/CDN@latest/emoji/tieba/tieba-1.png\" data-img=\"https://cdn.jsdelivr.net/gh/lete114/CDN@latest/emoji/tieba/tieba-1.png\">','0:0:0:0:0:0:0:1','2020-12-19 18:00:25',0,1,'http://localhost:4000/'),(31,21,'锟斤拷','[email protected]','https://lete114.top','Test2<img class=\"vemoji\" src=\"https://cdn.jsdelivr.net/gh/lete114/CDN@latest/emoji/qq/qq-76.gif\" data-img=\"https://cdn.jsdelivr.net/gh/lete114/CDN@latest/emoji/qq/qq-76.gif\">','0:0:0:0:0:0:0:1','2020-12-19 18:07:24',30,1,'http://localhost:4000/'),(32,21,'锟斤拷','[email protected]','https://lete114.top','<img class=\"vemoji\" src=\"https://cdn.jsdelivr.net/gh/lete114/CDN@latest/emoji/tieba/tieba-11.png\">\n','0:0:0:0:0:0:0:1','2020-12-19 18:10:24',0,1,'http://localhost:4000/'),(33,21,'锟斤拷','[email protected]','https://lete114.top','<script>alert(1)</script>','0:0:0:0:0:0:0:1','2020-12-19 19:46:54',0,1,'http://localhost:4000/'),(34,21,'锟斤拷','[email protected]','https://lete114.top','<img src=\"https://cdn.jsdelivr.net/gh/lete114/CDN@latest/emoji/tieba/tieba-1.png\">','0:0:0:0:0:0:0:1','2020-12-19 19:55:26',0,1,'http://localhost:4000/'),(35,21,'锟斤拷','[email protected]','https://lete114.top','abcd![tieba-2](https://cdn.jsdelivr.net/gh/lete114/CDN@latest/emoji/tieba/tieba-2.png)','0:0:0:0:0:0:0:1','2020-12-19 21:44:16',0,1,'http://localhost:4000/'),(36,21,'锟斤拷','[email protected]','https://lete114.top','TestMail','0:0:0:0:0:0:0:1','2020-12-20 22:10:45',0,1,'http://localhost:4000/article/bbbbb'),(37,21,'锟斤拷','[email protected]','https://lete114.top','TestMail2','0:0:0:0:0:0:0:1','2020-12-20 22:14:12',0,1,'http://localhost:4000/article/bbbbb'),(38,21,'锟斤拷','[email protected]','https://lete114.top','TestMail3','0:0:0:0:0:0:0:1','2020-12-10 22:17:37',0,1,'http://localhost:4000/article/bbbbb'),(39,21,'锟斤拷','[email protected]','https://lete114.top','测试邮箱','0:0:0:0:0:0:0:1','2020-12-21 13:31:50',0,1,'http://localhost:4000/article/bbbbb#post-comment'),(40,21,'Lete乐特','[email protected]','https://lete114.top','测试邮箱评论','0:0:0:0:0:0:0:1','2020-12-21 13:34:11',39,1,'http://localhost:4000/article/bbbbb#post-comment'),(41,21,'Lete乐特','[email protected]','https://lete114.top','测试子评论2','0:0:0:0:0:0:0:1','2020-12-21 13:34:55',39,1,'http://localhost:4000/article/bbbbb#post-comment'),(42,21,'锟斤拷','[email protected]','https://lete114.top','测试两条信息','0:0:0:0:0:0:0:1','2020-12-21 13:43:27',39,0,'http://localhost:4000/article/bbbbb#post-comment'),(43,21,'锟斤拷','[email protected]','https://lete114.top','继续测试','0:0:0:0:0:0:0:1','2020-12-21 13:57:07',39,1,'http://localhost:4000/article/bbbbb#post-comment'),(44,21,'锟斤拷','[email protected]','https://lete114.top','继续测试2\n','0:0:0:0:0:0:0:1','2020-12-21 13:59:39',39,1,'http://localhost:4000/article/bbbbb#post-comment'),(45,21,'锟斤拷','[email protected]','https://lete114.top','继续测试3','0:0:0:0:0:0:0:1','2020-12-21 14:12:55',39,1,'http://localhost:4000/article/bbbbb#post-comment'),(46,21,'锟斤拷','[email protected]','https://lete114.top','继续测试4','0:0:0:0:0:0:0:1','2020-12-21 14:14:46',0,1,'http://localhost:4000/article/bbbbb#post-comment'),(47,21,'锟斤拷','[email protected]','https://lete114.top','Test1','0:0:0:0:0:0:0:1','2020-12-21 14:26:42',0,1,'http://localhost:4000/article/bbbbb#post-comment'),(48,21,'Lete乐特','[email protected]','/','abc','127.0.0.1','2020-12-21 16:06:33',46,1,'http://localhost:4000/article/bbbbb#post-comment'),(49,21,'锟斤拷','[email protected]','https://lete114.top','Test2','0:0:0:0:0:0:0:1','2020-12-21 16:18:10',0,1,'http://localhost:4000/article/bbbbb#post-comment'),(50,21,'Lete乐特','[email protected]','/','aa','127.0.0.1','2020-12-21 16:22:38',46,1,'http://localhost:4000/article/bbbbb#post-comment'),(51,21,'锟斤拷','[email protected]','https://lete114.top','测试评论延迟\n','0:0:0:0:0:0:0:1','2020-12-21 16:29:11',0,1,'http://localhost:4000/article/bbbbb#post-comment'),(52,21,'锟斤拷','[email protected]','https://lete114.top','测试评论成功延迟','0:0:0:0:0:0:0:1','2020-12-21 16:30:27',0,1,'http://localhost:4000/article/bbbbb#post-comment');
/*Table structure for table `link` */
DROP TABLE IF EXISTS `link`;
CREATE TABLE `link` (
`linkId` int(11) NOT NULL AUTO_INCREMENT COMMENT '友链表主键id',
`avatar` varbinary(100) NOT NULL DEFAULT 'https://api.btstu.cn/sjtx/api.php?lx=c1&format=images' COMMENT '头像',
`linkName` varchar(50) NOT NULL COMMENT '网站名称',
`linkUrl` varchar(100) NOT NULL COMMENT '网站链接',
`linkDescription` varchar(100) NOT NULL COMMENT '网站描述',
`createTime` datetime DEFAULT NULL COMMENT '添加时间',
`linkRank` int(10) NOT NULL DEFAULT '0' COMMENT '排序',
PRIMARY KEY (`linkId`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;
/*Data for the table `link` */
insert into `link`(`linkId`,`avatar`,`linkName`,`linkUrl`,`linkDescription`,`createTime`,`linkRank`) values (12,'https://lete114.top/img/avatar.png','aaa','https://lete114.top','abc','2020-11-14 20:52:34',2),(13,'https://lete114.top/img/avatar.png','bbb','https://lete114.top','abc','2020-11-14 20:52:42',1),(14,'https://lete114.top/img/avatar.png','Lete乐特','https://lete114.top','abc','2020-11-14 20:52:58',3);
/*Table structure for table `tag` */
DROP TABLE IF EXISTS `tag`;
CREATE TABLE `tag` (
`tagId` int(11) NOT NULL AUTO_INCREMENT COMMENT '标签表主键id',
`tagName` varchar(100) NOT NULL COMMENT '标签名称',
`createTime` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`tagId`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;
/*Data for the table `tag` */
insert into `tag`(`tagId`,`tagName`,`createTime`) values (1,'Hexo','2020-01-01 00:00:00'),(2,'GitHub','2020-02-02 00:00:00'),(7,'ddd',NULL),(13,'a','2020-11-15 15:47:42'),(14,'aa','2020-11-15 15:47:42'),(15,'aaa','2020-11-15 15:47:42'),(16,'hello-world','2020-11-16 17:08:15'),(17,'CSS','2020-11-16 17:08:15'),(18,'HTML','2020-11-16 17:08:15'),(19,'的撒','2020-11-18 14:20:42'),(20,'valine','2020-11-19 10:38:38'),(21,'bbb','2020-11-29 18:51:48');
/*Table structure for table `user` */
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(4) NOT NULL AUTO_INCREMENT COMMENT '编号',
`author` varchar(10) CHARACTER SET utf8 NOT NULL COMMENT '作者',
`name` varchar(10) CHARACTER SET utf8 NOT NULL COMMENT '用户名',
`password` varchar(50) CHARACTER SET utf8 NOT NULL COMMENT '密码',
`description` varchar(300) CHARACTER SET utf8 NOT NULL COMMENT '描述',
`title` varchar(20) CHARACTER SET utf8 NOT NULL COMMENT '标题',
`background` varbinary(100) NOT NULL COMMENT '背景颜色',
`notice` varchar(999) CHARACTER SET utf8 DEFAULT NULL COMMENT '公告',
`subtitle` varchar(100) CHARACTER SET utf8 DEFAULT NULL COMMENT '副标题',
`running_time` datetime NOT NULL COMMENT '已运行时间',
`favicon` varchar(500) CHARACTER SET utf8 NOT NULL COMMENT '博客图标',
`avatar` varchar(500) CHARACTER SET utf8 NOT NULL COMMENT '头像',
`email` varchar(50) CHARACTER SET utf8 DEFAULT NULL COMMENT '邮箱',
`icp` varchar(20) CHARACTER SET utf8 DEFAULT NULL COMMENT 'ICP备案',
`about` mediumtext CHARACTER SET utf8 NOT NULL COMMENT '关于我',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;
/*Data for the table `user` */
insert into `user`(`id`,`author`,`name`,`password`,`description`,`title`,`background`,`notice`,`subtitle`,`running_time`,`favicon`,`avatar`,`email`,`icp`,`about`) values (1,'Lete乐特','admin','96e79218965eb72c92a549dd5a330112','我相信我可以,但我一直在路上,所以我有无限的可能!!','Lete乐特博客','url(https://cdn.jsdelivr.net/gh/lete114/CDN2/img/wei_er_li_te/3.jpg)','目前处于测试阶段,后台\r\n用户名:<span style=\"color: red;\">admin</span>\r\n密码:<span style=\"color: red;\">111111</span>为防止他人篡改密码等其他信息,部分功能将被关闭,包括评论邮件提醒','人生只有一次,大胆的生活,怎么舒服怎么来!!,我相信我可以,但我一直在路上,所以我有无限的可能!!','2020-04-15 00:00:00','https://www.lete114.top/img/favicon.ico','https://www.lete114.top/img/avatar.png','[email protected]','','## 关于我\n\n昵称: Lete乐特\n性别:男♂\n生活:00年,喜欢单独一个人,安静,注意生活中的细节,大山里长大\n爱好: IT,Minecraft,动漫,摄影,西方古文化,西方中世纪\n\n## 关于博客\n\n[Hexo](https://hexo.io/zh-cn) 框架 + [Butterfly](https://github.com/jerryc127/hexo-theme-butterfly) 主题\n[Github](https://github.com/) 存储 + [Jsdeliv CDN](https://www.jsdelivr.com/) 加速\n部署:[Github](https://github.com/) + [Vercel](https://vercel.com/) + [Coding](https://coding.net/)\n博客中的部分图片源于网络,侵删\n本博客文章采用 [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) 协议,转载请注明出处\n\n## 技能掌握\nJava, C# , MySQL , SQLServer , Servlet \nJSP , HTML , CSS , JavaScrip , Ajax\nMyBatis\n\n## 在学习\nSpring\nSpringMVC\nSpringBoot\n\n\n<i style=\"color:#FF6A6A;animation: announ_animation 0.8s linear infinite;\" class=\"fa fa-heartbeat\"></i> 感谢你花时间阅读我的博客,欢迎与我沟通交流。祝好! <i style=\"color:#FF6A6A;animation: announ_animation 0.8s linear infinite;\" class=\"fa fa-heartbeat\"></i>');
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;