2023-04-24
博客
00
请注意,本文编写于 543 天前,最后修改于 150 天前,其中某些信息可能已经过时。

目录

一、主题添加Waline评论
1、安装依赖
二、Waline
1.MYSQL
1.1.导入库waline.sql
2.docker
2.1.拉取镜像
2.2.启动并运行

主题:hexo数学家添加Waline评论。

一、主题添加Waline评论

1、安装依赖

在Hexo目录执行 npm install @waline/hexo-next

2、主题config配置添加

waline属性官网网址

waline: enable: true #是否开启 el: 'vcomments' # Valine 的初始化挂载器,无需更改 serverURL: http://自己的域名:8360 # Waline #服务端地址,我们这里就是上面部署的 Vercel 地址 placeholder: 请文明评论呀 # #评论框的默认文字 avatar: mm # 头像风格 meta: [nick, mail, link] # 自定义评论框上面的三个输入框的内容 pageSize: 10 # 评论数量多少时显示分页 lang: zh-cn # 语言, 可选值: en, zh-cn # Warning: 不要同时启用 `waline.visitor` 以及 `leancloud_visitors`. visitor: false # 文章阅读统计 comment_count: true # 如果为 false , 评论数量只会在当前评论页面显示, 主页则不显示 requiredFields: [] # 设置用户评论时必填的信息,[nick,mail]: [nick] | [nick, mail] libUrl: # Set custom library cdn url

3、创建ejs文件

themes\ocean\layout_partial\post\waline.ejs

<% if (theme.waline.enable) { %> <div class="vcomments" id="<%- theme.waline.el %>"></div> <%- js('//unpkg.com/@waline/client@v2/dist/waline.js') %> <link href='//unpkg.com/@waline/client@v2/dist/waline.css' rel='stylesheet' /> <script> Waline.init({ el: '#<%- theme.waline.el %>', serverURL: '<%- theme.waline.serverURL%>', avatar: '<%- theme.waline.avatar %>', //meta: [<%- theme.waline.requiredFields %>], requiredMeta: ['mail'], #直接在这个文件赋值,否则引入变量不会带单引号 wordLimit: <%- theme.waline.wordLimit %>, pageSize: '<%- theme.waline.pageSize %>', lang: '<%- theme.waline.lang %>', visitor: '<%- theme.waline.visitor %>', comment_count: '<%- theme.waline.comment_count %>', placeholder: '<%- theme.waline.placeholder %>' }) </script> <% } %>

4、页面最下方显示评论

ocean\layout_partial\article.ejs

<% if (is_post()) { %> <%- partial('post/waline') %> <%- partial('post/valine') %> <%- partial('post/gitalk') %> <%} %>

二、Waline

1.MYSQL

1.1.导入库waline.sql

这里在服务器的mysql中创建库

CREATE DATABASE waline DEFAULT CHARACTER SET utf8mb4; CREATE TABLE `wl_Comment` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(11) DEFAULT NULL, `comment` text, `insertedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `ip` varchar(100) DEFAULT '', `link` varchar(255) DEFAULT NULL, `mail` varchar(255) DEFAULT NULL, `nick` varchar(255) DEFAULT NULL, `pid` int(11) DEFAULT NULL, `rid` int(11) DEFAULT NULL, `sticky` int(11) DEFAULT NULL, `status` varchar(50) NOT NULL DEFAULT '', `ua` text, `url` varchar(255) DEFAULT NULL, `createdAt` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updatedAt` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `wl_Counter` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `time` int(11) DEFAULT NULL, `url` varchar(255) NOT NULL DEFAULT '', `createdAt` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updatedAt` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `wl_Users` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `display_name` varchar(255) NOT NULL DEFAULT '', `email` varchar(255) NOT NULL DEFAULT '', `password` varchar(255) NOT NULL DEFAULT '', `type` varchar(50) NOT NULL DEFAULT '', `url` varchar(255) DEFAULT NULL, `avatar` varchar(255) DEFAULT NULL, `github` varchar(255) DEFAULT NULL, `twitter` varchar(255) DEFAULT NULL, `facebook` varchar(255) DEFAULT NULL, `google` varchar(255) DEFAULT NULL, `weibo` varchar(255) DEFAULT NULL, `qq` varchar(255) DEFAULT NULL, `createdAt` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updatedAt` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

2.docker

2.1.拉取镜像

docker pull lizheming/waline:latest #拉取镜像

2.2.启动并运行

点击官网注册,并且绑定安全域名

//参数在官网:https://waline.js.org/reference/server/config.html#disallowiplist docker run -d --name waline -p 8360:8360 -v /software/docker/waline-blog:/app/data #挂在镜像 -e TZ="Asia/Shanghai" -e MYSQL_HOST="192.168.1.88" #MYSQL ip -e MYSQL_DB="waline" #MYSQL 库名 -e MYSQL_USER="**" #MYSQL 用户名 -e MYSQL_PASSWORD="**" #MYSQL 密码 -e AUTHOR_EMAIL="**@qq.com" #发送邮箱 -e SITE_NAME="陈少华的博客" -e SENDER_NAME="博客留言" -e SITE_URL="www.chensh888.com" #博客地址 -e SMTP_SERVICE="QQ" #发送邮箱类型 -e SMTP_USER="**@qq.com" #发送邮箱 -e SMTP_PASS="**" #QQ特有的第三TOKEN -e SECURE_DOMAINS='chensh888.com,www.chensh888.com' #生效博客域名 -e DISABLE_USERAGENT="false" -e IPQPS="30" --restart always lizheming/waline:latest

根据容器中的源码查看的参数如下,请根据实际与官网比对填写。

module.exports = { workers: 1, storage, jwtKey, forbiddenWords, disallowIPList: [], secureDomains: SECURE_DOMAINS ? SECURE_DOMAINS.split(/\s*,\s*/) : undefined, disableUserAgent: DISABLE_USERAGENT && !isFalse(DISABLE_USERAGENT), disableRegion: DISABLE_REGION && !isFalse(DISABLE_REGION), levels: !LEVELS || isFalse(LEVELS) ? false : LEVELS.split(/\s*,\s*/).map((v) => Number(v)), avatarProxy, oauthUrl, markdown, mailSubject: MAIL_SUBJECT, mailTemplate: MAIL_TEMPLATE, mailSubjectAdmin: MAIL_SUBJECT_ADMIN, mailTemplateAdmin: MAIL_TEMPLATE_ADMIN, QQTemplate: QQ_TEMPLATE, TGTemplate: TG_TEMPLATE, WXTemplate: WX_TEMPLATE, DiscordTemplate: DISCORD_TEMPLATE, LarkTemplate: LARK_TEMPLATE, };

本文作者:酷少少

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!