Hexo常见问题收集

hexo部署到服务器

其实 hexo 生成的博客是一个静态站点,所以我们只需要把存储静态站点的文件夹给暴露出来就可以了
这里的静态站点文件夹是 public

安装 koa

npm i koa –save

安装 koa-static

npm i koa-static

在根目录新建 app.js

1
2
3
4
5
6
7
8
9
10
11
12

const koa = require("koa")
const serve = require('koa-static');
const PORT = 9004;
const app = new koa();

app
.use(serve("./public"))
.listen(PORT, function () {
console.log("\n\n神仙朱博客 - 开启成功\n\n")
})

使用 pm2 为守护进程,也就是后台运行

npm i pm2 -g

后台部署博客

pm2 start app.js –name=Blogs

使用 pm2 ls 可以查看你的项目进程
log

具体 pm2 更多用法,可以查看 pm2文档


hexo-next给菜单添加自定义链接

那时候想在菜单添加一个自己的小东西链接,但是死活加不上,最后发现http 后面的两个斜杠出现了问题!
我加了两个斜杠的时候,渲染出来才出现一个!
好吧!我加四个斜杠!不负众望,成功了

log


hexo-next给菜单添加自定义图标

之前一直查添加自定义图片是 添加一个什么menu_icons,最后发现应该是新版的问题,那个不起效果了
现在添加图片,直接在菜单子项链接后面添加,如下图
图标可以到这里查看 Font Awesome

log


hexo给文章添加图片

安装 hexo-asset-image

npm i hexo-asset-image –save

之后,新建文章的时候,会生成一个和文章名一样的文件夹,专门给你放置图片等文件
log

在文章中引入图片只要写上文件名就可以了,不用写任何相对路径
log


hexo-next给文章添加阅读次数

hexo-next 都已经做了很好的封装,不用我们自己动手,如下图只要手动开启就好了

log


hexo-next给文章添加打赏功能

hexo-next 都已经做了很好的封装,同样不用我们自己动手,如下图只要手动开启就好了

log


hexo添加邮件联系方式

在你的邮箱前面加上 mailto: ,别人点击邮箱的时候,window 会直接打开发邮箱的软件

log


hexo-next给文章添加评论

在 主题next 的配置文件 _config.yml 中,找到 chanyan,并且开启畅言评论功能
log

  • 需要先进行 畅言注册
  • 然后就需要配置一些评论样式什么的
  • 还需要域名通过备案
  • 神烦的是,评论的时候还要绑定手机号!!!我擦咧,想评论都不评论了
  • 去首页 拿到你的 appid 和 appkey
  • 复制到配置文件 _config.yml 中,就OK了
  • 审核你的域名需要一段时间

最后显示在你的文章底部是这样的!!!

log


hexo-next给网站添加统计

先去腾讯统计注册账户 传送门:腾讯统计注册

注册成功之后,可以看到他让你添加这段代码到页面中,而你只需要把代码中的 sId拿到就好了
log

然后打开 主题next的配置文件_config.yml 找到 tencent_analytics
把刚刚拿到的 sId 写上去就ok 了
log

下面是你网站的统计结果,可以看到页面访问量,用户量,以及地区分布等
log


hexo 给网站路径转换为英文

如果没有给链接做特别的处理,特别是你的文件夹有中文命名,那么就惨了,中文被转码之后,不堪入目

1
http://hoholoving.com/2018/04/27/%E6%8A%80%E6%9C%AF/%E5%89%8D%E7%AB%AF/CSS/css%E5%B1%9E%E6%80%A7%E7%AE%80%E5%86%99/

推荐做法是

1、重新配置文章路径

先打开 根目录的 _config.yml 文件,把原来默认的注释掉
自己重新配置,如下图
log

意思是以 文章分类 和 文章id 作为文章的路径

文章id 是在每篇文章的上面进行配置的
log

为了方便,让我们修改文章模板 根目录下 scaffolds 文件夹的 post.md
log

新增一个id 选项,这样每次新增文章的时候,文章上头就会有一个 id 选项了
log

PS : 如果写文章的时候不填 文章id,文章会自动生成一个id,而且这个id是唯一的
log
log

2、配置分类映射规则

因为我们的分类大多用了中文命名,路径肯定会中文转码,除非你是歪果仁,不写中文

我们同样打开根目录的 _config.yml ,找到 category_map
现在!!把你的每个分类都翻译成中文吧!
log

最后我们就成功啦!!!

1
2
3
4
5
/* 这是之前的 :year/:month/:day/:title/ */
http://localhost:9004/2018/7/6/技术/服务器/nginx/nginx解决跨域/

/* 这是配置过后的 :category/:id/ */
http://localhost:9004/code/server/nginx/cjggijc3x0012ycd2eoy95d7j/
坚持原创技术分享,您的支持将鼓励我继续创作!