Hexo博客搭建部署GitHub

2023-10-31

在这里插入图片描述

Hexo博客

Hexo是一个简洁的静态博客页面,使用markdown渲染文件,在本地生产静态文件后可以部署到GitHub上,这样不需要占用自己的域名和服务器,其实我在很早之前就换用了hexo,原来的博客在csdn,oceansec.blog.csdn.net,新博客在GitHub oceansec.github.io,一直也没去搞篇文章去总结,这篇文章去整理下如何搭建自己的hexo博客

hexo官方文档在这

1.安装NodeJS

首先要知道的是的hexo是就有nodejs的,要安装nodejs,macos安装brew后可以使用以下命令直接安装nodejs

brew install node

安装成功后可以使用node -v命令查看安装版本确认安装成功

截屏2023-02-15 10.40.52

未安装brew的,可以使用以下命令去安装

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2.安装git

macos是自带git工具的,windows可以在官网下载后图形化安装,使用git -version判断安装是否成功,Windows可能需要设置环境变量

macos也可以使用brew去安装和管理git,安装命令如下

brew install git

3.安装Hexo

选择一个文件夹作为自己博客的目录,在终端中打开,输入以下命令安装hexo

npm install -g hexo-cli

安装后进行初始化操作,会自动在github上下载项目

hexo init

截屏2023-02-15 10.44.27

之后输入hexo g生成静态网页,hexo s启动本地服务器进行测试4

截屏2023-02-15 10.49.56

截屏2023-02-15 10.51.09

到这一步博客就在本地搭建完成了,接下来要做的就是可以根据自己的喜好选择博客模版主题

4.替换主题

主题在网上一搜就有的是,github上看看,以我使用的pure主题为例,首先将主题文件下载到本地,解压到hexo目录下的themes目录下

截屏2023-02-15 11.34.19

然后修改配置文件启用主题即可,在 Hexo 中主要有两份配置文件,其名称都是 _config.yml。 一份位于博客根目录下,主要包含 Hexo 本身的配置;另一份位于主题根目录下,主要用于配置主题相关的选项

截屏2023-02-15 11.36.03

  1. 打开_config.yml,找到如下项进行修改

    language: zh-CN //设置主题为中文版,若使用英文版则不修改
    theme: hexo-theme-pure //修改hexo主题
    
  2. 在hexo目录下启动终端,使用如下命令清除原来的缓存文件,并渲染新主题

    hexo clean&hexo s
    

    下图就是已经启用新文件更换主题后效果

    截屏2023-02-15 11.40.38

5.配置主题

  1. 将主题目录中 /theme/_source/ 下的所有东西复制进博客根目录的source文件夹中
  2. 配置个人信息,在主题目录下的__config.yml是主题的配置文件,根据注释配置即可

截屏2023-02-15 12.03.14

6.放入文章

博客文章格式为md,放在source/_posts/目录下即可

截屏2023-02-15 12.05.37

因为hexo是静态博客,所以每次对博客做出改变后都需要清除原来的缓存重新生成一次

hexo clean
hexo g

这样博客就搭建完成了,只需要上传到GitHub上就OK了

7.部署至GitHub

目前博客只是搭建渲染本地可以跑起来了,接下来就需要部署到GitHub pages界面

GitHub Pages是GitHub提供的一个网页寄存服务,于2008年推出。可以用于存放静态网页,包括博客、项目文档甚至整本书

首先肯定是需要有一个GitHub账号,然后去新建一个仓库

截屏2023-02-15 13.14.52

仓库名必须和自己的用户名一致,这个与域名有关,GitHub pages域名就是:用户名.github.io

截屏2023-02-15 13.17.25

点击create创建仓库,之后还需要上传静态页面到GitHub,需要修改hexo目录下的配置文件(不是主题下的配置文件)

deploy:
  type: git
  repo: # 你的github仓库的URL地址  #repo: git@github.com:用户名/用户名.github.io.git
  branch: master

当然也不只只有这一种配置方法,这样比较简单,之后可以使用hexo d命令将页面上传至GitHub

8.配置ssh密钥

在原来的配置下使用hexo d会发现没吃部署都需要输入GitHub用户名和密码,怎么才能减少麻烦呢,GitHub已经为我们提供了解决方法:使用ssh密钥连接

ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub

github添加ssh公钥

方法一: 在个人profile里添加公钥

Your profile -> SSH and GPG keys -> New SSH key -> 复制生成的公钥 ->

方法二: 项目的设置里面添加

Settings -> Deploy keys -> Add Deploy key -> 复制公钥 -> 勾选Allow write access -> Add new

设置好之后可以可以使用以下命令测试

ssh -T git@github.com

认证成功说明配置正确,重新使用命令hexo d,这样整个博客就搭建完成并部署到GitHub了,使用域名:用户名.github.io 访问即可,如果使用部署时仍然需要输入用户名和密码则是配置文件配置有问题,重新检查上一步配置文件是否正确即可

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hexo博客搭建部署GitHub 的相关文章

随机推荐

  • 设计模式第八讲:观察者模式和中介者模式详解

    一 观察者模式 1 背景 在现实世界中 许多对象并不是独立存在的 其中一个对象的行为发生改变可能会导致一个或者多个其他对象的行为也发生改变 例如 某种商品的物价上涨时会导致部分商家高兴 而消费者伤心 还有 当我们开车到交叉路口时 遇到红灯会
  • perl中CPAN的安装

    最近一直在学习nagios监控的知识 因为使用SNMP方式进行监测 而nagios的SNMP监测文件是pl结尾的perl脚本 所以需要安装CPAN 下面就安装CPAN的安装记录步骤如下 首先安装perl 可以通过yum方式进行安装 这样减少
  • STM32F0不同代码区跳转时总失败…这些操作你做对了吗?

    STMCU官网更新了一则实战经验文件 文章以STM32F0为例 就芯片内 从BOOT区跳转到APP区 从APP区跳转到新APP区 从APP区跳回BOOT区 的跳转问题做一些交流与介绍 更多信息请前往官网详情页 文章导读 对于STM32用户
  • java 顺序结构循环队列(源代码)

    1 import java util Arrays 2 public class LoopQueue
  • python模拟登入某平台+破解验证码

    概述 python模拟登录平台 遇见验证码识别 用最简单的方法selenium da破解验证码 来自动登录平台 详细 python用selenium xpath模拟登录 破解验证码 先随便找个小说平台用户登陆 书海小说网用户登陆 书海小说网
  • Golang-指针(pointer)

    1 概念 指针 指向内存地址的变量 指针用来存储变量的内存地址 Go 语言定义变量必须声明数据类型 因为不同数据类型的数据占用不同的存储空间 导致内存地址分配大小各不相同 所有指针只能存放同一类型变量的内存地址 指针分为两种 类型指针和切片
  • Android RecyclerView实现吸顶动态效果,详细分析

    文章目录 一 ItemDecoration 二 实现RecyclerView吸顶效果 1 实现一个简单的RecyclerView 2 通过ItemDecoration画分割线 3 画出每个分组的组名 4 实现吸顶效果 完整demo 链接 h
  • Python 数组的长度

    数组 Array 是有序的元素序列 若将有限个类型相同的变量的集合命名 那么这个名称为数组名 组成数组的各个变量称为数组的分量 也称为数组的元素 有时也称为下标变量 用于区分数组的各个元素的数字编号称为下标 数组是在程序设计中 为了处理方便
  • xss-labs-master 第六关到第十关通关

    要想看前面的五关请看xss labs master 第一关到第五关通关 Level 6 进入题目废话不多说 上来就是一个test测试一下会不会变化 可以看到提示信息有输入的内容 昨天我想了一个可以看到JS变化的代码 话不多说直接上
  • Navicat 链接 MongoDB

    安装完毕后修改配置文件 vim etc mongod conf 默认127 0 0 1为只允许本地连接 0 0 0 0为不限制 多个指定服务器用 连接 bind ip 0 0 0 0 启动 mongod 启动命令行 gt systemctl
  • Android关于libs,jniLibs库的基本使用说明及冲突解决

    最近在开发中遇到了一个问题 因为项目需要集成不同的sdk 相对应的也是不同的 so文件 针对libs中 so库的引入会遇到一些问题 比如要集成第三方NDK库 如果是在eclipse中 需要放到libs下对应库的目录 如果是在Android
  • OpenCV人脸识别C++源码分析

    include cv h include highgui h include
  • OSTaskStkInit():任务堆栈结构的初始化

    转载请注明出处 http dreamlcr cublog cn OSTaskStkInit 任务堆栈结构的初始化 OSTaskCreate 和OSTaskCreateExt 通过调用OSTaskStkInit 初始化任务的栈结构 因此 堆栈
  • Something old,something new,something borrowed,something blue

    Something old something new something borrowed something blue 有旧 有新 有借 有蓝 的婚礼习俗已经有好几百年的历史了 许多新娘在她们举行婚礼的当天都曾被问到是否已经备好了那些
  • 区块链落地的必需工具——预言机(Oracle)

    在 经济学人 杂志中对区块链的定义 区块链是信任的机器 区块链最大的核心创新在于去中心化的解决信任问题 不需要再去信任和依靠第三方机构的情况下进行价值转移 其中 智能合约起到了重要的作用 它是一套数字形式定义的合约 帮助合约参与方执行完成任
  • kali linux 安装python 3xx 以及多版本切换的方式

    简介 在渗透测试的时候 我们通常会用到不同的工具 这些工具可能对python的版本要求不一样 这个时候我们可能就需要在kali上面安装不同版本的python 以及灵活的切换python的版本 下载python3并安装 以python38来举
  • flutter 沉浸式状态栏

    padding new EdgeInsets all 0 0 加上这句就可以 具体原因不知 希望大佬解答
  • 你不知道的JavaScript----混合对象 ”类“

    目录 类的概念 类理论 类设计模式 类的机制 类的继承 类的多态 混入 显示混入 使用call绑定this 隐式混入 类的概念 类的设计模式 实例化 继承和 相对 多态 封装 把实现某个功能的代码进行封装处理 后期想实现这个功能 直接调用这
  • Say No to Palindromes

    Say No to Palindromes 题意 给一个长度为n的字符串 只包含abc三种字符 现在有m次询问 每次询问给出l r 问l r需要操作几次使得其不包括长度大于等于2的回文子串 每次操作可以改变一个字符 当然 只能在abc三种字
  • Hexo博客搭建部署GitHub

    Hexo博客 Hexo是一个简洁的静态博客页面 使用markdown渲染文件 在本地生产静态文件后可以部署到GitHub上 这样不需要占用自己的域名和服务器 其实我在很早之前就换用了hexo 原来的博客在csdn oceansec blog