当前位置: 首页 > news >正文

利用Github与Hexo搭建属于自己的在线个人博客

一、需求描述

        自己没有任何可用的在线服务器、但是平时使用markdown编写博客内容,想要将这些博客内容分享到互联网上,让大家都可以查看自己写好的博客内容;同时也方便自己在线访问查阅。

        没有在线服务器则可以借助github这个最大的全球在线平台;使用markdown编写博客则可以使用静态博客Hexo。

二、搭建属于自己的在线个人博客

 2.1、准备工作

  2.1.1、在自己电脑上下载安装Git

Githttps://git-scm.com/

在git安装完成之后点击鼠标右键选择【Git Bash Here】或者直接打开解压后的Git目录下的【git-bash.exe】查看git的版本信息【git --version】如下图所示:

到这里恭喜你表示本机安装git完成。

  2.1.2、在自己电脑上下载安装node.js

Node.js — Download Node.js®https://nodejs.org/en/download/

        配置nodejs在windows的环境变量:选择【此电脑】-->点击鼠标右键【属性】-->【高级系统设置】-->【环境变量】-->在【系统变量】点击【新建】输入变量名【node】,变量值输入nodejs的路径【如:E:\AllSoftWare\DevelopSoftWare\NodeJs】-->【确定】后再git-bash中输入【node -v】显示版本信息则表示安装nodejs成功。如下图所示:

到这里输入【node -v】显示版本信息,恭喜你表示已经安装nodejs成功了。

 2.2、安装Hexo

  2.2.1、安装cnpm

        npm(Node Package Manager),而cnpm是国内版的npm,在国内直接使用淘宝的提供的下载会更快。

#在git中安装cnpm命令
npm install -g cnpm --registry==https://registry.npm.taobao.org#2-验证cnpm是否安装完成(显示对应的版本信息则表示安装成功)
cnpm -v

        注意:如果在安装cnpm命令后,使用【cnpm -v】提示“bash: cnpm: command not found”时是因为我们的cnpm被安装到了其他目录,一般情况下是安装在【C:\Users\自己用户名\AppData\Roaming\npm】如(C:\Users\CoffeeMilk\AppData\Roaming\npm);也可以通过【Everything】工具来查找cnpm的路径(如:F:\SoftWareResources\AiBox\ai\pic-smaller\pic-smaller\.ai\node-v18.19.0-win-x64\node_global),然后将这个查找到的路径添加到【XXX用户变量】的【Path】中后再次输入【cnpm -v】即可看到

到这里恭喜你显示cnpm的版本信息内容表示安装完成。

  2.2.2、安装Hexo

#1-使用cnpm下载安装Hexo
cnpm install hexo-cli -g#2-查看hexo版本信息(显示对应的版本信息则表示安装成功)
hexo -v

  2.2.3、创建指定名称的Hexo项目

#1-进入指定路径(比如我想要将博客内容都放置在F盘的MyBlog目录中,则先进入该目录下)
cd F:\MyBlog#2-创建一个名为【ckblogs】的Hexo新项目
hexo init ckblogs#3-进入该内容目录中
cd ckblogs#4-安装Hexo项目所需的依赖内容
npm install#5-安装Hexo项目所需的依赖内容并保存
npm install hexo-deployer-git --save#6-启动Hexo项目(启动后不要立即按下【Ctrl+C】停止服务)
hexo server#7-可以直接在浏览器输入【localhost:4000】即可访问到项目页面(表示项目安装配置完成)
http://localhost:4000/

到这里恭喜你表示创建的名为ckblogs的Hexo项目完成。

  2.2.4、预览Hexo的主题并配置到自己项目中

《1》到Hexo主题官网浏览主题,挑选自己喜欢的(如:Kratos-Rebirth、Amazing、Reimu)

#Kratos-Rebirth主题将入自己Hexo项目【blog】的操作
#0-给使用Hexo创建的项目【blog】添加主题【Kratos-Rebirth】
cd F:\MyBlog
cd blog
git clone https://github.com/Candinya/Kratos-Rebirth/archive/refs/tags/v2.2.0.zip themes/amazing
#0.1-将下载好的【Kratos-Rebirth-2.2.0.zip】解压到【F:\MyBlog\blog\themes】目录中且名称修改为【Kratos-Rebirth】
#0.2-编辑【F:\MyBlog\blog】目录下的【_config.yml】文件中的【theme: landscape】修改为【theme: Kratos-Rebirth】保存#1-进入创建好的blog项目中
cd F:\MyBlog
cd blog#2-安装blog项目所需的依赖内容
npm install#3-清除缓存
hexo clean#4-编译
hexo g#5-启动服务
hexo s

#Amazing主题的加入到自己Hexo项目【ckblogs】中的操作#1-进入Hexo项目目录
cd F:\MyBlog
cd cd ckblogs/#2-在需要使用这个主题的项目中克隆主机
git clone https://github.com/removeif/hexo-theme-amazing.git themes/amazing
#2.1-修改所在项目目录下的【_config.yml】文件中倒数第二主题内容为【theme: amazing】#3-安装该主题的依赖包【即主题文件【package.json】最后面的【dependencies】内容)】
#注意:主题文件【package.json】里面最后没有【dependencies】内容的就不用安装
npm install --save bulma-stylus@0.8.0 deepmerge@^4.3.1 hexo@^7.1.1 hexo-component-inferno@^3.1.2 hexo-log@^4.1.0 hexo-pagination@^3.0.0 hexo-renderer-inferno@^1.0.2 hexo-renderer-stylus@^3.0.1 hexo-util@^3.2.0 inferno@^8.2.3 inferno-create-element@^8.2.3 moment@^2.30.1 semver@^7.5.4#4-清除缓存
hexo clean#5-编译
hexo g#6-启动服务
hexo s#7-浏览器访问【http://localhost:4000/】查看效果

其余的主题配置也是类似的操作。

  2.2.5、查看并强制删除4000端口进程

#查看windows系统的4000端口的进程
netstat -ano | findstr 4000#强制杀死指定进程(如:1652 进程)
taskkill /f /pid 1652

 2.3、将Hexo项目部署到Github

注意:若没有github账号则需要先注册一个,github官网地址是【https://github.com/】

  2.3.1、先将本机配置为免密登录GitHub

#先在本机指定路径下生成一对密钥(一般生成的路径是:C:\Users\电脑当前的用户名\.ssh)
ssh-keygen -t ed25519 -C"xxxx@exp.com"

  2.3.2、将本地生成的SSH公钥内容复制到Github中

        将本地生成的ssh密钥对中的文件结尾带有.pub的公钥文件内容复制一份到github中【登录自己的github账号,然后点击右上角的头像】-->【Settings】-->【SSH and GPG keys】-->【New SSH key】-->【输入Title内容(随便填写)、选择Key type是(Authentication key)、将将本地生成的ssh密钥对中的文件结尾带有.pub的公钥文件内容全选后粘贴到Key输入框中】-->【Add SSH key】,相信操作如下图所示:

 2.4、在Github上创建所属博客的仓库

        在github界面上选择右上角的加号【+】-->【New repository】-->【根据自己情况填写仓库名称(如:blog)】-->【Create repository】;然后该github上的仓库就创建完成了,在这个仓库界面选择右边的【code】-->【local】-->【ssh】-->点击复制图标即可获取到该仓库的SSH链接。详细操作如下图所示:

#在正式执行【hexo d】命令将本地的Hexo项目部署到github上前,还需要给上传的项目(如F:\MyBlog\blog\_config.yml文件最后添加如下内容才可实现上传到github指定仓库)
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:type: 'git'repo: git@github.com:自己在github上的用户名称/仓库名称.gitbranch: mainname: 自己在github上的用户名称email: 自己在github上的用户对应的邮箱

#1-进入本地Hexo创建的blog项目中
cd F:\MyBlog
cd blog#2-安装部署项目到github所需的包
npm install hexo-deployer-git --save#3--清除缓存
hexo clean#4-编译blog项目
hexo g#5-部署blog项目到github上
hexo d

注意:在部署blog项目到github上时若提示:“ error: GH013: Repository rule violations found for refs/heads/main.

 ! [remote rejected] HEAD -> main (push declined due to repository rule violations)
error: failed to push some refs to 'git@github.com:xxx/blog.git'”时
,是因为我们推送的当前项目中包含了密钥内容,导致github的密钥扫描发现了就禁止推送了。我们根据提示的消息将类似【Tencent Cloud Secret ID】下面给出的remote链接【https://github.com/xxx/blog/security/secret-scanning/unblock-secret/xxx】复制到浏览器上授予允许后再来重新执行【hexo d】命令重试即可解决,相信操作如下图所示:

到这里恭喜你已经将本地的Hexo创建的blog项目部署到github的仓库中了。

 2.5、开启部署到github的博客网址

        选择自己的博客仓库的【Settings】-->【Pages】-->【Branch项下选择(main)-->(/root)】-->【Save】-->【Source下面选择Deploy from branch】即可获取到博客的网址(如:https://kafeiweimei.github.io/blog/)在浏览器中输入这个网址即可查看到我们部署的网站内容(注意:若我们看到的网站是排版混乱的,此时可以在浏览器界面打开F12后选择网络后按下F5键刷新仔细看资源加载,一般情况下都是这些资源的路径不对【即:我们需要重新配置一下该博客仓库的网站根目录】及其【_config.yml文件内的url后面添加上自己网站的地址】)如下图所示:

三、新增博客内容

        只用在自己博客的【source】-->【_posts】目录下创建以.md结尾的文档即可;然后将项目编译部署到github即可看到效果了。

注意:

《1》新创建的markdown文件开头需要先插入如下内容用作右侧的标签与目录内容展示:

《2》关于卡片的介绍内容则是【这是关于typora的常用方法说明,帮助我们快速入门使用<!--more-->】。

---
title: hello world
date: 2025-11-03 11:31:36
categories: 教程文档
tags:
- markdown快速入门
- 编写一个markdown文件
- markdown的常用方法
sticky: 100
pic:
comments: true
toc: true
expire: true
only:
- home
- category
- tag
---

#1-进入本地Hexo创建的blog项目中
cd F:\MyBlog
cd blog#2-安装部署项目到github所需的包(已经安装过就不用安装了)
npm install hexo-deployer-git --save#3--清除缓存
hexo clean#4-编译blog项目
hexo g#5-部署blog项目到github上
hexo d
http://www.dtcms.com/a/565236.html

相关文章:

  • 哪些网上订餐的网站做的好模板网站 建设教材
  • 【每天一个AI小知识】:什么是零样本学习?
  • 清理WSL2下的docker磁盘docker_data.vhdx的长期增长的容量问题
  • AOI在化学药剂检测领域中的应用
  • 【IC】NoC设计入门 -- 拓扑
  • wordpress主题怎么选电商seo搜索引擎优化
  • DGX Spark 恢复系统
  • 【分布式锁通关指南 12】源码剖析redisson如何利用Redis数据结构实现Semaphore和CountDownLatch
  • 绵阳网站推广排名新网站快速排名软件
  • 矿山通信如何实现全域一体化?迈威为煤矿装上了“智慧神经网络”
  • 不止于Linux:百花齐放的开源世界与社区的力量
  • python grammar : case sensitive, python Python
  • leetcode--hot100--思路+知识点(II)
  • react antdesign实现表格嵌套表单
  • 3D 技术赋能制造企业精准高效装配生产
  • 山东网站建设app江门住房和城乡建设部网站
  • 数据线厂家东莞网站建设wordpress mysql用户名
  • 4G摄像头行业新风向:AI+低功耗+全球化驱动
  • IDEA / DataGrip 连接 SQL Server 提示“驱动程序无法通过 SSL 加密建立安全连接”的解决方法
  • 【11408学习记录】制胜考研英语阅读:拆解2018真题长难句(含三步核心分析法)​
  • # 数学符号参考手册大全
  • Dremio查询加速技术全解析
  • 黄页营销网站视频免费大全免费的网站模板下载
  • Go语言设计模式:观察者模式详解
  • 什么是音频码率?音频码率128kbps怎么设置?
  • 2026版基于python大数据的旅游可视化及推荐系统
  • 企业财务智能体架构解析:从RPA自动化到AI风控协同
  • 北京seo不到首页不扣费厦门seo顾问屈兴东
  • 玩转Rust高级应用 如何进行理解Refutability(可反驳性): 模式是否会匹配失效
  • Excel怎么快速合并当前工作簿下的所有工作表?