KITTENWIF中文网

  • Hexo最新实战:(一)Hexo7.0+GitHub Pages博客搭建|ssh|hexo|pages

FNSA中文网

你的位置:KITTENWIF中文网 > FNSA中文网 >

Hexo最新实战:(一)Hexo7.0+GitHub Pages博客搭建|ssh|hexo|pages

发布日期:2025-01-04 11:46    点击次数:92

前言很多平台都能写博客还有创作激励,为什么我又要搭一个?为什么这次要选择用Hexo框架?对应的原因是流量自由和省钱,第一个,很多平台能写但不是都有收益,而且平台有自身的规则,比如会屏蔽一些推广类信息。如果我哪天做了一产品,是没办法直接用平台博客的方式硬推的,至少放码和链接不行。第二个用Hexo搭到GitHub上,我可以不用买服务器,毕竟现在也还没有想法要做一个什么样的东西。总之,有个独立博客,相比平台博客在内容约束上更自由。有想法了就发出来,做了游戏什么的就放出来,md的文章以后要存储备份可以转word,更方便在副业的路上轻装探索。Hexo介绍Hexo是一款基于Node.js的开源静态博客框架,用于快速、简单且高效地搭建个人或团队的静态博客网站。说白了它是一个静态网站生成器,我们新增文章只需要编辑md文件,通过运行命令再生成像html的静态文件。其实我挺早听过Hexo,但一直没用,直到我cms搭的博客别人挂马后。我关闭网站全面使用平台博客,但经种种原因,我又萌生了建独立博客的想法,并且这次打算走长期路线,第一步先记录上次Hexo搭建过程仅供参考。流程本地构建Hexo配置 GitHub代码上传与备份个性化域名绑定环境搭建Hexo的博客,不管是页面的添加还是构建都是通过npm命令,所以最基本要把Node安装了。项目部署和部署的地方又在GitHub,所以Git也要提前装好。这里强调一下,运行Hexo命令最好在Git的GUI窗口里,不要用Windows的cmd,坑多,关于Node和Git环境安装就跳过了。构建Hexo安装Hexonpm install -g hexo检验Hexo是否安装hexo -v项目构建# 创建一blog项目hexo init blog# 进入项目cd blog# 安装依赖包npm install其他操作#右键 Git Bush,用户项目自动化部署npm install hexo-deployer-git --savehexo _config.yml中文乱码问题用Notepad++等编辑器打开,选择 “编码” -> “转为UTF-8编码”项目预览# 清理旧的静态文件hexo clean# 生成静态文件hexo g# 运行预览项目hexo s配置 GitHub这里虽然只是写的配置GitHub,其实包含了本地用Git生成SSH密钥对,和GitHub上公钥添加,提交Token的获取,以及Pages服务的开启。还有仓库名的建立也有讲究,下面就从这些点开始逐一展开。建立仓库仓库名是个什么讲究法呢?就是格式要保持 “github账号名.github.io”, 比如我的账户名是“z11r00”,那么仓库就要建成 “z11r00.github.io”。如果不这样,最后等用Hexo部署完毕后,初始的域名可能就是 “github账号名.github.io/仓库名”,会在后面多了一个路径,而且hexo的config没有设置好连css都加载不出来。设置SSHGitHub 的 SSH(Secure Shell)主要用于安全地连接到 GitHub 服务器,其实就是平时Git常用的克隆、拉取、提交、推送等操作。而好处除了安全外,就是提交代码不用每次都要输入账号密码。如果安装了hexo-deployer-git的话,只需一个命令就可以完成项目从静态构建到自动部署。生成SSH密钥对打开Git面板,输入 “ssh-keygen -t rsa -C GitHub账户”, 这里的GitHUb账户是你登录GitHub的邮箱等方式。生成后找到目录下的id_rsa.pub(公钥),用编辑器打开并复制。GitHub中添加SSH公钥登录GitHub网站,点击个人头像,找到 “Settings”->"SSH and GPG keys"后,点击 “New SSH keys”,最后将前面复制的很长的公钥字符串粘贴到Key文本框中。验证设备是否可连接通过 “ssh -T [email protected]” 命令,验证当前的设备是否可以连接。获取提交的Token虽然说SSH连接不用一直登陆,但是初次还要要的。而且不光要输入账号密码还需要一个提交用的Token,没有这个,运行hexo d一直提示Logon failed, 这个后面会集中列出报错事故的。获取token,还是进入“Settins”,找到 “Developer settings”->“Personal access tokens”->“Tokens(classic)”, 然后设置备注和过期时间。最主要的权限要勾选 “workflow”、“gist”、“user”,点击 “Generate”按钮,生成的"ghp_"为前缀的就是token了,复制并保存下来。项目部署项目部署的其实是将Hexo生成的静态文件提交到github上,后期添加文章也就是markdown文件,继续重新生成,重新部署。而项目的代码却在本地,虽然代码量不多,但是里面的package.json和_config.yml,以及用到的主题包,还是有必要保存一下。所以我这里的方法是,静态部署项目放在一个公有仓库,而项目源代码单独提交到一私有仓库下。修改配置打开项目根目录下的_config.yml,主要添加仓库的地址,其他的配置下篇再介绍。因为hexo很多玩法更多的是配置和各种依赖,比如可以添加统计、留言、修改主题、站内搜索、甚至广告位等等。静态文件生成通过 “hexo clean” 先清理,然后执行 “hexo g” 重新生成。开始部署通过命令 “hexo d”,开始部署项目,如果第一次运行,就需要前面提到的输入github账号密码。确认Login后会再次弹一个窗口就是输入Token了,最后完成部署。这里需要注意一下的是,最好用Git面板运行命令,如果是cmd很有可能第二次的窗无法弹出,亲测坑点。访问测试部署完成就进入仓库下,除了查看提交的代码外,打开仓库下的 “Settings”,找到 “Pages”。个性化域名绑定有一个git域名其实也不错,为什么还要买一个去绑定呢?一个是我本身这域名就空在这里,第二个是可以给博客增加一点IP点,第三个是更利于某度的爬取。我看其他博主说国内一些搜索引擎屏蔽了github的pages博客,当然我没有验证过,下次也要做SEO相关的时候可以测试一下。获取IP地址要想知道当前项目部署的独立IP地址,只需要ping一下github分配的域名,比如我直接 “ping z11r00.github.io”就可以看到了。域名解析进入购买的域名控制台,给自己的域名添加两个解析,一个指向旧域名,一个解析到前面获取到的IP地址。项目绑定域名进入仓库的“Settings”下,点击 “Pages”,找到 “Custom domain”,将自己的域名粘贴进文本框保存。然后在项目的“source” 新建CNAME(没有后缀), 打开文件粘贴域名,比如我的zerofc.cn,最后再重新部署项目访问。写在后面既然博客已经搭起来了,后面还有分两步走,凑成三部曲。第一个是Hexo的各种配置和插件的玩法,第二个是Hexo博客SEO相关的内容,如果我那个小游戏软著下来了,可能博客的事情就会延后一点。

相关资讯Related Articles

  • 一文看懂国内区块链产业 到底哪块最赚钱?

    2025-01-13

    来源 | 创业家(ID:chuangyejia)作者| 白开水、yingtao编辑 | 王冀制图 | 陈达达当你为没加入3点钟社群而深深焦虑的时候,不如平心静气地瞅瞅大佬们的话题中心长啥样。创业家i黑马通过调研,将国内区块链产业分为五大部分:企业服务、应用拓展、联盟、交易平台/交易所、以及媒体。这五大部分并非直接关联。且通俗来说,围绕的是三个核心圈层:为区块链提供底层技术的链圈、提供高算力服务器挖...

  • 科普:一文透彻了解比特币网络背后的运行逻辑

    2025-01-04

    原标题:科普 | 一文透彻了解比特币网络背后的运行逻辑 本文出自万向区块链小课堂。 很多人认识区块链的入门通道、区块链应用鼻祖——比特币网络,相信很多小伙伴对它都不陌生。但你真的了解比特币网络背后的工作原理吗?比特币系统不属于任何一个人或任何一家公司/组织,也没有员工、老板和股东来维持它的运转。换言之,比特币系统不受任何人的控制。那全世界这么多的节点和参与者凭什么信任它呢?又如何避免比特币被非法复...

  • 法国女富豪在泰国自杀!立好遗嘱将巨额遗产赠与女佣,赴死前曾有一系

    2025-01-04

    最近,一位法国女富商,用自己的生命向人们证实了世界上真的存在“天使”“灰姑娘”以及“天上掉馅饼”的传说......不久前,一个关于这个女富商的悲惨而又非同寻常的故事震惊了整个泰国。图源:journee-mondial4月28日,59岁的法国女商人凯瑟琳·德拉科(Catherine Delacot)被发现在泰国苏梅岛的豪华别墅中用手枪结束了自己的生命。死者在苏梅岛的豪华别墅外景图源:ma-thail...

  • Hexo最新实战:(一)Hexo7.0+GitHub Pages

    2025-01-04

    前言很多平台都能写博客还有创作激励,为什么我又要搭一个?为什么这次要选择用Hexo框架?对应的原因是流量自由和省钱,第一个,很多平台能写但不是都有收益,而且平台有自身的规则,比如会屏蔽一些推广类信息。如果我哪天做了一产品,是没办法直接用平台博客的方式硬推的,至少放码和链接不行。第二个用Hexo搭到GitHub上,我可以不用买服务器,毕竟现在也还没有想法要做一个什么样的东西。总之,有个独立博客,相比...