hexo+icarus博客搭建

hexo+icarus博客搭建

使用hexo与icarus搭建博客的过程。

前言

​ 使用hexo搭建静态博客,比较简单方便,主题有很多,选择icarus是因为看着简洁大气,结果icarus自3.0后更新为使用jsx,可参考的修改方案不多,于是在github上冲浪了很久,踩了很多坑。

安装Node.js

​ 首先下载稳定版,安装完成后命令行输入node -vnpm -v

1
2
3
4
$ node -v
v14.17.1
$ npm -v
6.14.13

​ 有版本号,安装就没问题了。报错的话重装/清理环境+重装。

添加源

​ 没梯子就用阿里镜像加速。

1
npm config set registry https://registry.npm.taobao.org

安装Git

​ 下载安装就好了,添加git bash到命令菜单。

Github

​ 新建项目,项目名字为”github名字.github.io”,README、gitignore、许可全都要。项目内点击SettingsGitHub Pages,点击Choose a theme选择一个主题。完成主页初始化。

Hexo

​ 博客目录下右键点击Git Bash Here,输入npm i hexo-cli -g安装完后,输入hexo -v验证是否安装成功。不成功一般是路径问题,找到hexo安装路径,如D:\node.js\node_gobal\node_modules\hexo-cli\bin\,环境变量添加好了之后重新打开 git,一定要重启git,一定要重启git,一定要重启git。

​ 输入hexo init初始化文件夹,然后输入npm install安装必备的组件。完成后输入hexo g生成静态网页,输入hexo s打开本地服务器,浏览器打开http://localhost:4000/可以进行本地预览。按ctrl+c关闭本地服务器。

连接Github

​ 首先右键打开git bash,然后输入下面命令:

1
2
git config --global user.name "GitHub用户名"
git config --global user.email "GitHub账号"

​ 然后生成密钥SSH key:

1
ssh-keygen -t rsa -C "GitHub账号"

​ 打开github,在头像下面点击settings,再点击SSH and GPG keys,新建一个SSH,名字随便。

​ git bash中输入

1
cat ~/.ssh/id_rsa.pub

​ 将输出的内容复制到框中,点击确定保存。

​ 输入ssh -T git@github.com

1
2
$ ssh -T git@github.com
Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.

​ 打开博客根目录下的_config.yml文件,修改最后一行的配置:(github在老美搞政治正确的时候,把默认分支master改成main了,人都麻了。)

1
2
3
4
deploy:
type: git
repository: GitHub项目地址
branch: main

编辑文章

​ 安装扩展npm i hexo-deployer-git。然后输入hexo new post "文章标题",新建一篇文章。其中,post代表scaffolds文件夹中的post.md模板,还有draft、page两种模板,都没什么用,可以自定义。在D:\博客根目录\source\_posts的目录,多了一个.md文件,编辑就行。当然也可以写好拉进_posts文件夹。写完后,根目录输入hexo g生成静态网页,输入hexo d上传到github上。

域名

有空再弄。要花钱要备案,建议国外域名。买了之后在项目settingcustom domain写上域名。

icarus主题

https://github.com/ppoffice/hexo-theme-icarus

1
2
npm install hexo-theme-icarus
hexo config theme icarus

修改config.yml文件

跟着文档来就行

bug

搞完了才写的这博文,很多坑已经忘掉了,没有及时记录。

连接github失败

  • 有可能是vpn问题,可以修改host文件,host可能拒绝访问,用管理员打开power shell在其中输入nodepad编辑。
  • 有可能是项目没连上,能ping通。创建一个同名文件夹,git init然后上传到github,创建第一次连接,之后就可以了。吧?

一些插件

评论插件

​ 目前主要有valinedisquegitalk畅言等插件,icarus都有自带的实现,只需要在cofig_icarus.yml里修改配置即可。我使用了gitalk。相比其他的插件,虽然gitalk需要登录github才能评论,但是不要求网页备案和域名,使用原始的github.io就可以,而且UI很不错。其他的评论插件其实也需要登录才能开始评价,畅言还有像广告一样的东西,垃圾valine不需要登录但基于leancloud,需要备案,相似的基于腾讯云的twikoo也是,故弃用。
​ 使用gitalk,在githubsetting页中的developer settings/OAuth Apps中创建OAuth Apps,其中homepage urlAutorization callback url为博客项目的根目录地址,即https://xx.github.io/,生成后点击生成密钥,并填写到配置文件中。

config_icarus.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
comment:
type: gitalk
client_id: xxxxxxxxxxxxxxxxxxxx
client_secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
repo: Some-of-Your-GitHub-Repo
owner: you_github_name
admin:
- you_github_name
per_page: 20 # 可选填
distraction_free_mode: false # 可选填
pager_direction: last # 可选填
create_issue_manually: false # 可选填
proxy: # 可选填
flip_move_options: # 可选填
enable_hotkey: true # 可选填
language: zh-CN # 可选填

具体配置查阅gitalk文档,刷新上传博客,评论一次激活。

作者

ivy

发布于

2020-06-20

更新于

2023-03-25

许可协议

CC BY-NC-SA 4.0

评论