• 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运行以下命令:

    1. git config --global user.name "你的GitHub用户名"
    2. git config --global user.email "你的GitHub注册邮箱"
    3. 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 git@github.com

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

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

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

  • 相关阅读:
    ThreadLocal线程局部变量
    0基础如何学习软件测试?10分钟给你安排明白
    Google Earth Engine APP——gee-ui geetemp 前端团队组件库
    分布式存储系统之Ceph集群部署
    (done) Positive Semidefinite Matrices 什么是半正定矩阵?如何证明一个矩阵是半正定矩阵? 可以使用特征值
    为什么我在公司里访问不了家里的电脑?
    C++语言的广泛应用领域
    引入时间概念的分布式系统浅谈
    OCR多语言识别模型构建资料收集
    python获取电脑当前的时间
  • 原文地址:https://blog.csdn.net/m0_58606834/article/details/126557292