安装Hexo 先是要安装node.js和npm,注意node.js版本必须在14以上(在Ubuntu上吃了亏,我的node.js是apt官方源安装的,只有12,最后用nvm安装才安装了个node.js20),npm版本需要和node.js匹配,具体见https://nodejs.org/en/about/previous-releases
+
+
+随后安装hexo
+
+
+使用hexo -v
查看版本
+
+
+
+
+设置Github Page 创建一个Github仓库,格式必须为<用户名>.github.io
+仓库创建好后,创建一个index.html文件,文件可以是任意格式的网页,如下所示:
+1 2 3 4 5 6 7 8 9 10 11 12 <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Westlord的个人随笔</title > </head > <body > <h1 > Westlord的个人随笔</h1 > <h1 > Hello ~</h1 > </body > </html >
+
+随后,可以在仓库设置里的Pages页面里,在Branch处设置部署为网页的分支,按下save后稍等片刻即可部署成功。
+图……没有了,可以参考GitHub Pages + Hexo搭建个人博客网站,史上最全教程 这篇文章里的描述去弄。
+个人使用的主题 Butterfly,安装文档:https://butterfly.js.org/posts/21cfbf15/
+我是使用npm安装的:
+1 2 3 4 # 通过 npm 安装并不会在 themes 里生成主题文件夹,而是在 node_modules 里生成 npm install hexo-theme-butterfly # 如果你没有 pug 以及 stylus 的渲染器,请下载安装 npm install hexo-renderer-pug hexo-renderer-stylus --save
+
+为什么使用npm部署 个人最后使用的是npm部署,不是因为我多懂npm,而是如果使用文件夹引入,在Github里就会面对哈人的子模块问题……个人还没学会子模块,于是放弃。
+也许以后可以在本博客上出一个Git教程,重点讲讲子模块(
+主题的具体配置是什么 去看主题文档的主题配置章节 !这个章节不仅完善,而且对主题各个配置能展现的效果都有展示!
+Github Pages部署方式 最开始是用hexo g -d
部署到Github Pages,当然,首先要安装hexo-deployer-git
插件
+1 npm install hexo-deployer-git --save
+
+在_config.yml
里加入以下的一段,其中******
是你的Github Token,得在你的Github设置里获取。
+1 2 3 4 5 deploy: type: git repo: https://******@github.com/Elegant-Westlord/elegant-westlord.github.io.git,main branch: main token: ******
+
+后面我看到【Hexo自动部署】优雅的使用 Github Actions 进行 Hexo 静态博客的持续集成与部署 的介绍,试着用Github Action自动化部署。
+我的部署脚本如下:
+1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 name: Blog CI/CD on: push: branches: [main , master ] paths: - '*.json' - '**.yml' - '**/source/**' jobs: blog: timeout-minutes: 30 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 - name: Cache node_modules uses: actions/cache@v2 env: cache-name: cache-node-modules with: path: ~/.npm key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-build-${{ env.cache-name }}- ${{ runner.os }}-build- ${{ runner.os }}- - name: Init Node.js run: | npm install echo "init node successful" - name: Install Hexo-cli run: | npm install -g hexo-cli --save echo "install hexo successful" - name: Build Blog run: | hexo clean hexo g echo "build blog successful" - name: Deploy DoubleAm's Blog run: | git config --global user.name "Elegant-Westlord" git config --global user.email "elegantwestlord@gmail.com" hexo deploy - run: echo "Deploy Successful!"
+
+注意,要在安装npm包时使用--save
选项,保证package.json
里面有所有的依赖项,因为每个Github Action都是单独开一个Docker容器运行你的命令,如果你的package.json里面没有依赖项,那么构建时就不会引入相应依赖包。
+如何注册域名和给Github Page设置自定义域名 众所周知,github.io域名在中国大陆直连访问有亿点困难,于是乎,给Github Page套上自定义域名就至关重要了。
+域名的来源是免费域名”us.kg”,虽然长得像是子域名, 其实是PSL,也就是公共后缀列表(Public Suffix List),享受主域名的一切功能与待遇。域名的注册方法我是参见了技术爬爬虾的视频:
+
+
+
+
+
+域名套在github page上的方法如下:
+首先在Cloudflare 上,网站选项里找到你要使用的域名(如果按上面的视频的做法你的域名应该被Cloudflare托管着)。
+添加一条DNS记录,类型选择CNAME,名称任选,目标必须是你之前设置的<用户名>.github.io
的网址,关闭代理。
+
+
+
+
+设置完成后就可以看到域名的记录了
+
+
+随后,在Github仓库的Page设置中的Custom domain选项,填入自定义域名,待DNS检查通过后,勾选Enable HTTPS,即可实现用自定义域名访问了。
+
+
+设置后,在你的网页部署仓库内会生成一个叫CNAME的文件,注意将这个文件下载下来,放在你源代码仓库的source文件夹里,避免更改博客后重新部署博客时域名丢失。
+
+