Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

Hexo 简介

Hexo是一款基于Node.js的静态博客框架,依赖少易于安装使用,可以方便的生成静态网页托管在GitHub和Coding上,是搭建博客的首选框架。大家可以进入hexo官网进行详细查看,因为Hexo的创建者是台湾人,对中文的支持很友好,可以选择中文进行查看。

安装npm/nodejs/hexo

1
2
3
sudo apt install npm
sudo apt install nodejs
sudo npm install hexo -g
arch vs manjaro

升级降级node版本

1
2
3
wget https://nodejs.org/dist/v12.1.0/node-v12.1.0-linux-x64.tar.gz
sudo ln /home/liupei/hexo/node-v12.1.0-linux-x64/bin/npm npm
sudo ln /home/liupei/hexo/node-v12.1.0-linux-x64/bin/node node

常见问题

non-existent

1
2
3
4
(node:1656) Warning: Accessing non-existent property 'column' of module exports inside circular dependency
(node:1656) Warning: Accessing non-existent property 'filename' of module exports inside circular dependency
(node:1656) Warning: Accessing non-existent property 'lineno' of module exports inside circular dependency
(node:1656) Warning: Accessing non-existent property 'column' of module exports inside circular dependency

找到错误信息中提到的 4 个文件的具体错误位置一个个的查看与报错相关联的内容,最终删除了 .\node_modules\nib\node_modules\stylus\lib\nodes\node.js 文件中的一段代码后解决。

修改前这段代码为:

1
2
3
4
5
var Node = module.exports = function Node(){
this.lineno = nodes.lineno || 1;
this.column = nodes.column || 1;
this.filename = nodes.filename;
};

修改后:

1
var Node = module.exports = function Node(){};

参考文献

主题翻页

hexo-yilia主题,本来应该是下一页的按键 » 变成了 &raquo ;上一页的按键 « 变成了 &laquo

解决方法

~/hexo/themes/yilia/layout/_partial目录下的archive.ejs`文件中

1
vim themes/yilia/layout/_partial/archive.ejs

直接将 &raquo

修改为» ,将&laquo 修改为 « ,修改之后就能正常显示了。

页内跳转

B处设置

1
<span id="mark">被跳转处B</span>

A 处设置

1
[点击A跳转到B](#mark)

网站图标

  • 下载制作 ico 32x32图标,并放在 /themes/yilia/source/img
  • 修改主题配置文件 _config.yaml,修改以下行 favicon: /img/favicon.ico

图片显示

Hexo的目录source中创建一个图片文件夹,例如pic
把你要插入的图片文件放到该目录下面,在你的文章中正常使用markdown的语法插入图片即可,如

1
![img](/pic/test.png)

到此你就完成了插图,并且图片在你的博客上面也会正常显示!

记住在pic前面有一个/,表示根目录的意思,因为对于hexo来说它的资源文件的根目录就是source,当然你也可以修改_config.yml改变这个配置
参考来源

hexo使用

网页(新建/删除/更新/预览/同步)

1
2
3
4
5
6
7
$ hexo n name	# 新建网页
$ hexo g # 更新博客
$ hexo s # 预览
$ hexo d # 同步
## 删除网页
$ cd hexo/source/_posts/ && rm python-project.md
$ hexo g && hexo d

分类标签

待参考文献

typora 免费版本

typora 0.11.18 官网下载
typora 0.11.18 百度盘下载,提取码:n9g7

部署个人服务器

安装宝塔面板

本地生成ssh秘钥备用

1
2
3
git config --global user.name "GitHub用户名"
git config --global user.email "GitHub的邮箱"
ssh-keygen -t rsa -C "GitHub的邮箱"

连接服务器终端

安装git

1
sudo apt install git

创建 Git 账户并赋予权限

1
2
adduser git
sudo vim /etc/sudoers

编辑 /etc/sudoers 文件

1
vim /etc/sudoers

i键进入编辑模式,找到root ALL=(ALL) ALL,在其下方加入:

1
git     ALL=(ALL)     ALL

输入完成后按esc,再输入:wq,保存退出。

更变/etc/sudoers权限

1
chmod 400 /etc/sudoers

切换至 git 用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件

1
2
3
su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys

同样i进入编辑模式,把之前本地准备的id_rsa.pub文件中的公钥复制进去,按esc后,输入:wq保存。**(注意!!! 最后一行要加回车)**

更改权限:

1
2
chmod 600 /home/git/.ssh/authorized_keys
chmod 700 /home/git/.ssh

本地测试:

1
ssh -v git@服务器ip地址或域名

不用输密码就成了。

创建git仓库

切换为root用户

1
sudo su root

创建repo作为仓库目录,并加权限

1
2
3
mkdir /var/repo
chown -R git:git /var/repo
chmod -R 755 /var/repo

创建 hexo 目录作为网站根目录

1
2
3
mkdir /var/hexo
chown -R git:git /var/hexo
chmod -R 755 /var/hexo

创建一个空白的 git 仓库

1
2
cd /var/repo
git init --bare hexo.git

编辑一个 Git 钩子

1
vim /var/repo/hexo.git/hooks/post-receive

i进入编辑模式,添加下面的代码,按esc输入:wq 保存

1
2
#!/bin/bash
git --work-tree=/var/hexo --git-dir=/var/repo/hexo.git checkout -f

更改权限

1
2
chown -R git:git /var/repo/hexo.git/hooks/post-receive
chmod +x /var/repo/hexo.git/hooks/post-receive

宝塔网站配置

创建一个网站

创建一个网站

本地 Git deploy 设置

安装git部署插件

1
npm install hexo-deployer-git --save

在博客根目录配置

1
2
3
4
deploy:
type: git
repo: git@服务器ip或域名:/var/repo/hexo.git
branch: master

配置完成后,可直接hexo连到自己的服务器。简单快捷。

Reference:

1.hexo部署至云服务的宝塔面板

2.从零开始搭建Hexo博客并部署到远程平台

备案信息

在以下文件中添加备案信息

1
hexo/themes/yilia-plus/layout/_partial/footer.ejs

SSH证书部署

腾讯云SSL证书下载

  • 使用文本编辑器打开 .key 私钥文件,并复制内容至密钥(KEY)
  • 使用文本编辑器打开 .crt 证书文件,并复制内容至证书(PEM 格式)

评论