Cloudflare Pages 搭建hexo

演示站

1.安装 Wrangler 2.0 CLI

npm

npm install -g wrangler

yarn

yarn global add wrangler

2.使用您的 Cloudflare 帐户对 Wrangler 进行身份验证

要支持 Wrangler 将脚本部署到 Cloudflare,您需要登录到 Cloudflare 帐户完成身份验证。

wrangler login

当 Wrangler 自动打开浏览器显示 Cloudflare 的同意屏幕时,请单击允许按钮。这会向 Wrangler 发送 API 令牌。

3.安装Git

Git

4.安装Hexo

npm install -g hexo-cli

安装完成之后, 可以执行

hexo --version

来检查是否安装成功

5.创建项目

进入你想要保存文件的目录

比如我的是D:\Cloudflare

在终端(cmd或者powershell)中进入目录

执行

hexo init my-hexo-site #my-hexo-site自己决定,随便什么都可以,比如我取的是blog
cd my-hexo-site #进入我的博客根目录
npm install #初始化
hexo new "hello hexo" #创建一个名为hello hexo的新帖子

6.创建 GitHub 存储库

访问:repo.new

Repository name可随便设置

安装hexoGit条件

npm install hexo-deployer-git --save #如果是搭建在GitHub pages上需要这个

在D:\Cloudflare中打开Git Bush Here运行以下命令:

git config --global user.name "你的GitHub用户名"
git config --global user.email "你的GitHub注册邮箱"
ssh-keygen -t rsa -C "你的GitHub注册邮箱" #生成ssh密钥文件

会告诉你秘钥存放地址

然后直接三个回车即可,默认不需要设置密码
然后找到生成的.ssh的文件夹中的id_rsa.pub密钥,将内容全部复制

打开GitHub_Settings_keys 页面,新建new SSH Key

Title为标题,任意填即可,将刚刚复制的id_rsa.pub内容粘贴进去,最后点击Add SSH key。

可能会报错:Key is invalid. You must supply a key in OpenSSH public key format

原因:直接复制会破坏格式
所以
在秘钥目录打开git bash执行

clip < ~/.ssh/id_rsa.pub

然后去GitHub复制就行了

检测GitHub公钥设置是否成功,输入ssh [email protected]

如上则说明成功。这里之所以设置GitHub密钥原因是,通过非对称加密的公钥与私钥来完成加密,公钥放置在GitHub上,私钥放置在自己的电脑里。GitHub要求每次推送代码都是合法用户,所以每次推送都需要输入账号密码验证推送用户是否是合法用户,为了省去每次输入密码的步骤,采用了ssh,当你推送的时候,git就会匹配你的私钥跟GitHub上面的公钥是否是配对的,若是匹配就认为你是合法用户,则允许推送。这样可以保证每次的推送都是正确合法的。

然后进入你的Hexo文件夹打开Git bash依次根据自己的情况输入:

git init #如果报错Initialized empty Git repository in xxx请看你是否打开git或者有没有连接上GitHub
git add .
git commit -m "版本备注"
git remote add origin https://github.com/yourgithubusername/githubrepo #https后面一串为你的GitHub存储库的地址
git push origin main --force # 确保本地版本是最新的时候,直接使本地仓库强制覆盖远程仓库。
# 获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)
git pull --rebase origin main
git branch -M main #main为分支名
git push -u origin main 
#之后推送时使用此命令 git push origin master 即可,或者直接通过GitHub desktop推送
#如果报错src refspec main does not match any请使用git checkout -b <你的分支名> 命令来创建对应分支
#如果你想要用命令push,这边需要按照下面的过程来输入,否则会无法push成功
git add .
git commit -m "随便的备注"
git push -u origin main 

科普一下:git push -u origin master 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。

1、master是主分支,还可以建一些其他的分支用于开发。
2、git push origin master的意思就是上传本地当前分支代码到master分支。git push是上传本地所有分支代码到远程对应的分支上。

7.使用 Cloudflare 页面进行部署

通过将您的网站部署到 Pages,方法是登录到Cloudflare dashboard > 帐户主页>页面,然后选择创建项目。选择您创建的新 GitHub 存储库,然后在“设置生成和部署”部分中提供以下信息:

框架预设 Hexo/None
生产分支 main
构建命令 hexo generate
构建目录 public

完成配置后,单击保存并部署按钮。在部署之前,您应该会看到 Cloudflare 页面安装和项目依赖项,以及构建站点。

有关将第一个站点部署到 Cloudflare 页面的完整指南,请参阅入门指南

部署站点后,您将在 上收到项目的唯一子域。每次您将新代码提交到Hexo站点时,Cloudflare Pages都会自动重新构建您的项目并进行部署。您还可以访问新拉取请求上的预览部署,以便在将更改部署到生产环境之前预览对站点的外观。

之后想要更新文章,只需要在Github仓库/source/_posts文件夹内修改文章或上传文章即可,最终将实现完全使用Github写博客。CF这边则会自动帮你进行部署,无需人为操作。
CloudFlare Pages和Github Pages一样,可以自定义域名,并且CloudFlare Pages可以绑定10个域名。

后期如果想要对博客进行大改,例如修改主题和安装插件,只需要将Github 仓库克隆到本地,修改完再push 到远程Github仓库即可。

使用特定节点.js版本

某些 Hexo 主题或插件对不同的 Node.js 版本有其他要求。要对 Hexo 使用特定的 Node.js 版本,请执行以下操作:

  1. 前往主页项目
  2. 转到“设置”>“环境变量”。
  3. 设置环境变量和所需 Node.js 版本的值。NODE_VERSION 14.3

8.WordPress迁移Hexo

首先,安装 hexo-migrator-wordpress 插件。

$ npm install hexo-migrator-wordpress --save

在 WordPress 仪表盘中导出数据(“Tools” → “Export” → “WordPress”)(详情参考WP支持页面)。

插件安装完成后,执行下列命令来迁移所有文章。source 可以是 WordPress 导出的文件路径或网址。

$ hexo migrate wordpress <source>

注意

这个插件并不能完美地实现WordPress->Hexo的数据转换,尤其是在处理WordPress的分类方面存在问题(见Front-matter中的分类与标签)。因此,建议您在迁移完成后,手工审阅所有生成的markdown文件,检查其中是否有错误。对于文章数量较大的WordPress站点,这项工作可能要花很长的时间。

猜你喜欢

转载自blog.csdn.net/m0_58606834/article/details/126557292