HEXO搭建静态网站
搭建准备
- GitHub账号,需要注册一个账号(必须)
- Cloudflare Dashboard | Manage Your Account,需要注册一个账号
- 准备一个域名
软件下载/安装
- Git
- Node.js — Run JavaScript Everywhere
- 代码编辑:1. Visual Studio Code - Code Editing. Redefined、2.Notepad++
Git安装
软件下载完成–>一直点默认进行安装,(根据自己电脑情况,选择安装位置)
安装完成开始菜单可以查看到如下三个程序:Git CMD、Git Bash、Git GUI
Git CMD是windows 命令行的指令风格Git GUI是图形化界面Git Bash是linux系统的指令风格(常用)
Node安装
软件下载完成–>一直点默认进行安装,(根据自己电脑情况,选择安装位置)
cmd命令测试是否安装完成,命令执行之后,出现相关的版本信息说明安装成功了。
1 | |
修改npm源,配置成华为云镜像源,加速下载。
1 | |
配置Git ssh密钥并连接Github
打开 Git Bash 程序,输入如下命令
1 | |
检查是否配置成功
1 | |
命令如下显示,说明配置成功了
1 | |
生成ssh的公/私钥
输入命令,一直点回车(也是可以设置密码)
1 | |
密钥生成的位置:C:\Users\用户名\.ssh\
id_rsa私钥id_rsa.pub公钥
连接github
- 将
id_rsa.pub公钥的文件内容复制一下。 - 访问github网站,点击右上角头像–>设置(settings)–>在左侧边, SSH and GPG keys –>在SSH keys选项中,点击NEW SSH KEY按钮
- Title的内容自定义–>在 Key 的输入框中,粘贴复制的公钥文件内容 –>最后点击 ADD SSH KEY 的按钮。
连接测试
1 | |
第一次连接,会出现Are you sure you want to continue connecting (yes/no/[fingerprint])?的提示,输入yes就可以了。
如果,你设置了密码还会在有Enter passphrase for key '/c/Users/用户名/.ssh/id_rsa':的提示,输入你设置的密码即可。
创建GitHub.io仓库
项目命名要求<用户名>.github.io
在Git BASH输入如下命令安装 Hexo
1 | |
验证是否安装成功。
1 | |
初始化
1 | |
文件描述:
- node_modules:依赖包
- scaffolds:生成文章的一些模板
- themes:主题
- source:用来存放你的文章
- .npmignore:发布时忽略的文件(可忽略)
- _config.landscape.yml:主题的配置文件
- _config.yml:博客的配置文件
- package.json:项目名称、描述、版本、运行和开发等信
启动项目
1 | |
静态博客挂载到 GitHub Pages
安装 hexo-deployer-git
1 | |
修改 _config.yml 文件
修改最后一行的配置,将repository修改为你自己的github项目地址即可,还有分支要改为main代表主分支(注意缩进)。
1 | |
1 | |
- hexo clean:删除之前生成的文件,可以用
hexo cl缩写。 - hexo generate:生成静态文章,可以用
hexo g缩写 - hexo deploy:部署文章,可以用
hexo d缩写
如果出现Deploy done,则说明部署成功了。
静态博客挂载到 Cloudflare Pages
在 Workers 和 Pages 中选择 Pages 的 连接到 Git
- 点击连接github的按钮,然后登录你仓库对应的GitHub帐号
- 点击install & Authorize
- 选择你要存储的库,
<用户名>.github.io - 点击开始设置
- 点击
保存并部署后,等待项目部署完成即可。
将仓库设置私用
返回刚才部署的github仓库
- 点击设置(settings)
- 往下拉,找到Danger Zone,点击 Change visibility
- 点击 Change to private,弹出的窗体,一直点击即可设置仓库私用
hexo如何使用
可以查看文档 | Hexo官网
语法:
1 | |
1 | |
运行
1 | |
上传到github项目
1 | |
参考文档
Hexo
GitHub - hexojs/hexo: A fast, simple & powerful blog framework, powered by Node.js.