使用hexo+github搭建个人博客

2023-10-26

摘要:本文讲述如何使用hexo+github搭建属于自己的个人博客,并且配置相应的主题使自己的博客更加美观

1、概念介绍

博客这东西大家应该都不陌生,网上有很多各式各样的博客。很多人也萌生了搭建自己的博客的想法,但是奈何技术有限,前后端技术,服务器部署,域名解析等等,要掌握一大推技术才能搭建个人博客。这无疑劝退了一大波人。

但是现在就有一个便捷的技术摆在眼前,不需要太复杂的操作,不要服务器,就可以轻松搭建属于自己的博客,这就是Hexo技术,使用它再搭配github或者gitee,coding就可以轻松搭建属于自己的个人博客。

1.1、什么是 Hexo

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他标记语言)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。通过使用Hexo我们可以迅速的搭建属于自己的个人博客,并且可以选择主题来定制个人的喜好。

上面的图片所示就是官网的一些主题,有很多,你可以选择你喜欢的,我选择的是这款Yume Shoka = 優萌初華 = 有夢書架 ,或者你也可以选择这款,kaitaku's blog = 望月阁 = kaitaku,这是它们的github地址 GitHub - theme-shoka/hexo-theme-shokaGithub - theme-shoka-x/hexo-theme-shokaX: a hexo theme based on shoka,大家可以根据爱好选择。

可以先看一下我基于上面的主题做的自己的博客编程之旅 = CodingJourney = zblog

确实也是费了半天功夫才搭建好,所以才有感而发写一篇文章来记录一下。

下面是使用hexo搭建博客的优点

1、不需要服务器,github免费提供的托管服务

2、不需要域名,github同样提供了一个.io的域名

3、不用自己写代码、hexo提供了很多开源的博客模板功你选择。

4、便于维护更新,换风格直接换模板就行。

2、环境安装

2.1、安装git

  • Windows:下载并安装 git
  • Mac:使用 Homebrew, MacPorts 或者下载 安装程序
  • Linux (Ubuntu, Debian):sudo apt-get install git-core
  • Linux (Fedora, Red Hat, CentOS):sudo yum install git-core

点击上面的链接进入官网,选择64位程序进行安装

这里我就不多说,网上git的安装教程很多的,按照流程进行安装就可以了

2.2、安装 Node.js

Node.js官网下载
根据自身系统下载对应的安装包

.msi和.zip格式区别:

.msi是Windows installer开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序。说白了.msi就是Windows installer的数据包,把所有和安装文件相关的内容封装在一个包里。此外:它还包含有关安装过程自己的信息。例如:安装序列、目标文件夹路径、安装选项和控制安装过程的属性。

.zip是一个压缩包,解压之后即可,不需要安装

这里我选择的是.zip,所以下载之后直接解压缩的

然后配置环境变量

 在安装目录下新建两个文件夹【node_global】和【node_cache】

再次打开cmd命令窗口,输入npm config set prefix “你的路径\node_global” 和“你的路径\node_cache”

npm config set prefix "E:\KF\nodejs\node_global"
npm config set cache "E:\KF\nodejs\node_cache"

最后将E:\KF\nodejs\node_global和E:\KF\nodejs\node_cache两个路径配到环境变量里面,这样node.js就配置完成了

由于npm安装模块时都是去国外的镜像下载的,可能有的时候因为网络等缘由致使安装模块失败,所以我们可以配置一下阿里云的镜像来加快速度。

npm config set registry https://registry.npm.taobao.org

至此git和node.js就安装好了,下面创建博客专用的个人仓库。 

2.3、创建博客专用的个人仓库

Github上创建一个以yourname.github.io为名字的仓库,在填写地址的时候注意,这个地址是就是你的域名,以github.io结尾,我这边报错是已经创建过了名字没问题,之后可以进行博客的创建了。

2.4、安装 Hexo

选择你要安装的地方,创建文件夹(比如说我创建的是blog,你随意),使用 npm 安装 Hexo,下面的命令是表示全局安装hexo(对于新手还是全局安装比较好)

npm install -g hexo-cli

对于熟悉 npm 的进阶用户,可以仅局部安装 hexo 包。

npm install hexo

对于node.js的版本,我这边建议安装最新的,下面的表格是Hexo的版本对node.js的要求

Hexo 版本

最低版本 (Node.js 版本)

最高版本 (Node.js 版本)

6.2+

12.13.0

latest

6.0+

12.13.0

18.5.0

5.0+

10.13.0

12.0.0

4.1 - 4.2

8.10

10.0.0

4.0

8.6

8.10.0

3.3 - 3.9

6.9

8.0.0

3.2 - 3.3

0.12

未知

3.0 - 3.1

0.10 或 iojs

未知

0.0.1 - 2.8

0.10

未知

3、搭建博客

3.1、搭建简易的博客

安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。

# 这里的folder是博客项目名称,你随意
hexo init <folder>
cd <folder>
npm install

新建完成后,指定文件夹的目录如下:

hexo/ 
|-- node_modules/   # 放置npm的包
|-- scaffolds/      # 储存文章模板
|-- source/			# 储存文章和部分资源
|-- themes/			# 储存主题
|-- _config.xxx.yml # 是肢体的plus版配置文件(xxx须更改文主题名)
|-- _config.yml		# hexo的主要配置文件
|-- package.json    # npm依赖的包json
|-- package-lock.json

输入下面指令加载hexo基础html、css、js等文件。

hexo g

 在这完成后等于已经在本地创建了一个网页,我们可以输入hexo s开启本地服务器

hexo s

 在浏览器输入localhost:4000就可以看到我们的博客了

至此最基础的一个博客就建好了,将该hexo上传到github对应的项目里面,那么使用github.io访问的将是一个默认的页面。但是这个博客说实话有点简陋,下面介绍如何选择自己导入自己喜欢的模板。

我这里选的是我在上面提到的hexo-theme-shoka主题,下面的流程就是如何配置该主题了

3.2、安装主题

在hexo项目文件夹中克隆 shoka 主题到本地,这边是直接克隆到当前文件/thems/shoka文件下面

git clone https://gitee.com/zkz0/hexo-theme-shoka.git ./themes/shoka #gitee 镜像源

 打开根目录 _config.yml,修改theme的配置项为shoka

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: shoka

 安装 shoka 主题的 md 渲染器插件:

# cd <your_blog>
npm remove hexo-renderer-marked # 删除原本的插件
npm i hexo-renderer-multi-markdown-it  #由博主制作的全新版本渲染器,建议安装

 安装 shoka 的插件

npm i hexo-theme-shokax
npm i hexo-autoprefixer
npm i hexo-algoliasearch
npm i hexo-feed

下面的配置大家可以参考从0搭建hexo博客-安装主题

最后是配置 hexo,打开根目录 _config.yml

# Site
title: #你的站点名,你的网站名字还需要到/theme/_config.yml文件中修改一下
subtitle: #副标题 (小标题)
description: #站点描述,卸载你的头像下面,相当于个性标签
keywords: #关键字,用半角逗号分隔
author: #作者名
language: zh-CN #中文为 zh-CN
timezone: 'Asia/Shanghai' #东八区时区
# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: https://www.example.com #你的 url,这边表示你博客上面文章的真实路径
permalink: :title/ #推荐这样,有利于 SEO
permalink_defaults:
pretty_urls:
  trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
  trailing_html: true # Set to false to remove trailing '.html' from permalinks
deploy:
  type: git
  repo: https://github.com/yourname/yourname.github.io.git #你的GitHub的仓库地址
  branch: main  #主分支的名字

还有一点需要注意,就是设置branch的时候,注意一下现在git的主分支叫做main,不是master,别弄错了

 在上面配置好了之后我们可以在你博客的根目录打开终端,输入以下命令:

# 如果你打开的是cmd或者git bash 也可以一个一个输入的,没有要求
hexo clean && hexo g && hexo s
# 如果你打开的是powershell
hexo clean ; hexo g ; hexo s

hexo clean是用来清除过程文件的(没用的文件)

hexo g就是根据配置生成文件html,css和JavaScript文件(generate)

hexo s是在本地开启一个服务,供我们本地预览(server)

在浏览器输入localhost:4000我们就能看到下面的博客了,不过其实有些内容还是没有的,我们要去/theme/shoka/_config.yml文件夹下面去配置一下才可以。

配置头像我们要去/themes/shoka/source/images文件夹下面找到avatar.jpg然后替换成自己的头像就可以了,还有注意把收款码的图片也配置一下。

配置导航栏是在/theme/shoka/_config.yml中添加下面的一段代码就可以了

配置社交链接也是在/theme/shoka/_config.yml中添加下面的一段代码就可以了

 配置背景音乐的地方也在/theme/shoka/_config.yml

等等有蛮多可以去配置的地方,你可以参考之前的配置文件去配置或者自己区_config.yml里面探索一下

3.3、文章的分类

还有个文章的分类需要说一下。你在博客上面写文章要进行分类的话,可以使用主题自带的分类功能。主题默认带有不少菜单,如关于(about)、分类(categories)、标签(tags)等,默认处于注释状态,将需要取消的菜单注释掉,然后生成相应的 page 即可。就是上边的menu部分。

这是因为我们需要运行如下命令新建相关 page

hexo new page "about"
hexo new page "tags"
hexo new page "categories"

新建 page 后,会在 source 目录下新建 about、tags、categories文件夹,每个文件夹下还会创建一个index.md文件表示关于、标签页和分类页面。我们可以编辑各页面对应的index.md文件,来添加相应的分类,增加 type 即可。注意冒号 : 后必须空一格,title 和 date 是默认生成的。重新部署后能够看到效果。

---
title: about
date: 2023-07-24 15:21:30
type: "about"
---

---
title: tages
date: 2023-07-24 15:21:30
type: "tags"
---

---
title: categories
date: 2023-07-24 15:21:30
type: "categories"
---

 在新建博文的头部,直接输入该博文的分类、标签等即可。分类只能有一个,标签能有多个,多个标签不能一行,注意下面的格式。

---
title: Hello World # 标题
date: 2023/7/24 hh:mm:ss # 时间
categories: # 分类
  - 分类  # 只能由一个
tags: # 标签
  - python  # 能有多个
  - java  # 一个标签一行
---

<!--more-->
正文

这样一个符合自己爱好的博客算是搭建完成了吧,然后就可以部署到github上面了。

4、部署博客

先安装部署的命令hexo-deployer-git:

npm install hexo-deployer-git --save

之后运行下面的命令:

hexo clean
hexo g
hexo d

这个时候访问域名yourname.github.io即可看到主页了

不过我当时打开的时候图片没有出现,所以我又安装了安装插件hexo-asset-img:

npm install hexo-asset-img --save

并且在source/_data文件夹下面创建images.yml文件,在里面写可以导入图片:

hexo clean && hexo g && hexo s

之后再次打开博客,我的博客就正常了,至此我的个人博客配置结束了。

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

使用hexo+github搭建个人博客 的相关文章

  • 为什么 git-cherry pick 没有说要提交什么?

    我对以下问题进行了很多搜索 但无法获得任何实质性信息 我创建了一个临时分支 202116 并尝试对 gerrit 202116 进行挑选 并收到以下消息 为什么我无法挑选此提交以及为什么会收到此错误 lt gt git fetch ssh
  • 如何将Github中的develop分支设置为默认分支而不是master?

    我知道这可以在存储库的管理页面上完成 可以在那里设置另一个默认分支 这就是这个问题的答案 但我发现 也许是一个错误 以下内容 如果你的master分支和develop分支完全相同 那么git克隆将不会克隆默认的 develop 分支 但仍然
  • 我的邮箱收到了。但我不知道如何获取邮箱中的补丁,因为邮箱的内容只是文本

    生成补丁后 git send email to 电子邮件受保护 cdn cgi l email protection patches patch 发送了补丁 我的邮箱收到了 但我不知道如何获取邮箱中的补丁 因为邮箱的内容只是文本 请看图片
  • Git 中的作者和提交者有什么区别?

    我刚刚在 GitHub 上发现了以下提交 https github com felixge node formidable commit 0a0b150668daa3c6f01626d2565b898e5da12392 https gith
  • 获取 Github 上已编译二进制文件的链接

    如何在 Github 上添加已编译二进制文件的链接 您可以使用 URL 链接到 GitHub 存储库中的特定文件http github com
  • git push 无法在 cron 作业中工作

    我目前正在清理 CentOS 6 服务器上其他人留下的烂摊子 有一个应用程序需要每6小时备份一次到github帐户 有一个脚本负责准备数据并负责 git add 和 git commit git Push 由 expect 脚本负责 这样做
  • git push 被拒绝,合并冲突,git pull --rebase

    我正在尝试推动我的提交 但不能 因为还有另一个提交 HEAD 竞赛中的同一级别 我知道我需要将这两个提交合并在一起 但不确定如何去做 我已经尝试过了git pull rebase My GIT CLI https i stack imgur
  • GitHub 恢复或重置? [复制]

    这个问题在这里已经有答案了 正如您在图片中看到的 我正在功能 forum kolo 3 中工作 我决定完成该功能并将其合并到开发中 但没有将更改推送到远程开发 因此它只是本地更改 然后我意识到这是一个坏主意 现在我想删除这个合并 就像它从未
  • 将项目从 github 克隆到 RStudio 时出现错误消息“无法获取本地颁发者证书”

    我试图从 RStudio 克隆 github 的存储库 我已将 git 配置为版本控制可执行文件 我收到此错误消息 SSL 证书问题 无法获取本地颁发者证书 我需要做什么 Thanks 使用以下步骤 访问 github 站点 www git
  • 说它已提交,但在 GitHub 中它没有显示

    我刚刚在 Ubuntu 机器上安装了 Rails 我设置了 git 并创建了一个 ssh 密钥来链接到我的帐户 我创建了一个要提交的存储库 并创建了一个示例项目来测试 名为first app 当我提交时 它说一切都已提交 但我去了 gith
  • 使用Chrome访问github,无法加载css和js。但IE没问题

    我的 Chrome 版本 50 0 2661 75 m 访问GitHub 无法加载css和javascript 错误 CSS stylesheet from origin https assets cdn github com has be
  • Git推送大文件时远端意外挂断

    当我尝试推送到我的 bitbucket 存储库时 出现以下错误 事实上 在 GitHub 中也是如此 数物体 48 完成 增量压缩最多使用 2 个线程 压缩对象 100 38 38 完成 写入对象 100 48 48 1 95 MiB 38
  • git 克隆错误:致命:git upload-pack:由于远程端可能的存储库损坏而中止

    我对 git 存储库具有读 写访问权限 但是当我尝试 git clone 时 出现以下错误 x ubuntu temp git clone email protected cdn cgi l email protection Corp ap
  • Github 操作测试之前是否进行了包含特定单词的提交

    我需要确保使用 github 操作进行测试 如果之前已进行包含该单词的提交build 如果提交不包含单词build那么不应运行 github 操作的测试 你能给我一些建议吗 Test name Testing on push branche
  • 从 github 中删除子项目提交

    我有两个存储库A and B 我错误地在我的机器上将仓库 B 克隆到了 A 内 我从存储库 B 中删除了所有代码 但是当我在源上从 A 推送并合并代码时 它还显示了子项目提交B在 Github 仓库上 我想从我的 master 上删除子项目
  • 将 github 上的包安装到 Spyder 中

    我一直在尝试安装并导入mpl finance来自 github 的包 在我的 Spyder 环境中没有成功 我努力了 pip install e git https github com matplotlib mpl finance git
  • 如何生成类似github的影响图?

    是否有一些程序 或者我错过的一些神奇的 git 插件 可以从 git 存储库获取影响图或类似的东西 而无需通过 github 就数据收集而言 我可以生成图表 我不确定从哪里开始编写自己的代码 我假设有一些标志我可以传递给 git log 来
  • 自动同步两个 git 存储库

    是否可以保持同步两个 Github 存储库 远程 的特定文件夹 有两个 github 存储库 repoA 和 repoB 这两个存储库都有名为 ABC 的文件夹以及其他独特的文件夹 如果repoA的文件夹ABC中的任何文件有更新 我想自动更
  • 是否可以从 Github 网站或 API 获取分支合并列表?

    在我们的工作流程中 不会 直接 提交到主分支 主分支仅接收来自 Pull 请求的合并 我们可以将每次合并视为添加到主分支的新功能 因此 我想获得一个合并到 master 中的列表 作为一种可视化随着时间的推移添加到产品中的功能块的方式 gi
  • GitHub API 获取用户/组织总数

    Using GitHub API https developer github com v3 如何计算请求时的用户 组织总数 Users https developer github com v3 users and 组织机构 https

随机推荐

  • PN结图示(全网都不舍得放的图片)

    这是从必应随手搜到的 PN结的图示 很直观的可以让人理解 P 和 N 在术语里的意思 而这是从国内百度搜的国人给的图示 说实话我搜了N年 愣是没找到跟图上一样的 咱也不懂为什么 PN结图示 全网都不舍得放的图片 这里会涉及到两个基本术语 正
  • scriptmanager控件使用

    今天用到scriptmanager 顺便整理一下 网络资料 一 控件概述 ScriptManager控件包括在ASP NET 2 0 AJAX Extensions中 它用来处理页面上的所有组件以及页面局部更新 生成相关的客户端代理脚本以便
  • mysql sql 除法运算_SQL语句怎么表示除法运算?

    展开全部 select case when 除数 0 then 0 else 被除数 除数 end 一 基本概念 SQL语言 是结构化查询语言 Structured Query Language 的简称 e69da5e6ba90626169
  • 线性光耦原理与电路设计[HCNR200,HCNR201]

    1 线形光耦介绍 光隔离是一种很常用的信号隔离形式 常用光耦器件及其外围电路组成 由于光耦电路简单 在数字隔离电路或数据传输电路中常常用到 如UART协议的20mA电流环 对于模拟信号 光耦因为输入输出的线形较差 并且随温度变化较大 限制了
  • python编程题

    7 1 jmu Java Python 统计一段文字中的单词个数并按单词的字母顺序排序后输出 10 分 现需要统计若干段文字 英文 中的不同单词数量 如果不同的单词数量不超过10个 则将所有单词输出 按字母顺序 否则输出前10个单词 注1
  • 【BUUCTF】Web题目 WriteUp

    Web类题目 Basic 极客大挑战 Secret File F12查看源码 发现一个网址 点击查看 进入后 发现转跳连接action php 点击后显示查阅结束 考虑使用burp抓包 直接查看secr3t php 发现flag php 但
  • 如何在 CentOS 里下载 RPM 包及其所有依赖包

    https blog csdn net linuxnews article details 53244315 方法一 利用 Downloadonly 插件下载 RPM 软件包及其所有依赖包 默认情况下 这个命令将会下载并把软件包保存到 va
  • 如何解决深度学习中的过拟合问题?

    在深度学习中 过拟合是一个常见的问题 它指的是模型在训练集上表现良好 但在测试集或新样本上表现较差的现象 过拟合的出现主要是由于模型过度拟合训练数据 过多地记住了训练集中的噪声和细节 导致模型在泛化到未见过的数据时失效 然而 我们可以采取一
  • SpringMVC和SpringBoot接收复杂集合参数,集合对象

    在SpringMVC和SpringBoot中 我们有这样一个场景 就是接受前端复杂的对象数组 或者多个数组 这是我们可以用 RequestBody注解 来解析请求体中的数据 但是值得注意的是在GET请求是不能进行该种方式的操作 因为GET请
  • Kali实现msfvenom在Windows和Linux靶机下后门漏洞

    项目场景 Kali实现msfvenom在Windows和Linux靶机下后门漏洞 情景复现 实验环境 Kali Debian 6 64位 Windows10 Centos7 环境 版本 kali Debian 6 64位 Windows w
  • 五十二.L1-063 吃鱼还是吃肉

    include
  • Qt子线程控制主界面UI控件

    在子线程里控制主界面的UI控件有两种方法 第一种是在子线程中发送信号 然后在主线程中去更新 第二种方法是在子线程中创建同样的对象 然后把主界面中控件的指针赋给创建的对象 第一种方法在此不做实例展示 在此通过一个简单的例子展示第二种方法 下面
  • qt操作文件进行读写操作

    一 加上头文件 include
  • electron自动更新版本electron-updater

    首先来看效果图 打包electron生成新的exe安装包 npm run dist 使用simplehttpserver开启存放打包好的exe安装包与yml文件的本地服务 打包目录里有这两个文件 安装simplehttpserver npm
  • springboot maven配置log4j以及Idea控制台根据等级配置颜色

    目录 效果 pom依赖 log4j properties LoggerUtil CCPRestSDK class 测试 console颜色 效果 废话不多说 直接放代码 pom依赖
  • Eclipse安装中文简体语言包(官方下载安装教程)

    目录 方法一 1 下载中文语言包 2 将文件下载后 解压 方法二 获得最新语言包网址 点击获得 配置JAVA HOME方法 一些历史版本的语言包网址 补充2021 3 7 语言包官方下载链接汇总 浏览器打开 长期有效 更新2021 3 4
  • mybatis generator插件系列--注释插件 (为实体类生成数据库字段注释)

    我们都知道mybatis generator自动生成的注释没什么实际作用 而且还增加了代码量 如果能将注释从数据库中捞取到 不仅能很大程度上增加代码的可读性 而且减少了后期手动加注释的工作量 1 首先定义注释生成插件 MyCommentGe
  • 后台管理系统-前端Vue项目搭建

    后台管理系统简介 从本章节开始我们将逐渐完成一套后台管理系统的搭建过程 前端技术 Vue3 2 后端搭建使用Spring Cloud Alibaba 1 Vue项目初始化 我们使用Vue ui 来初始化项目 1 1 使用vue ui创建项目
  • DOTA航拍图像数据集,免费资源下载35G遥感数据集

    DOTA Dataset遥感数据集下载 挂VPN会进的更快哦 下载链接最底下 DOTA Dataset A Large scale Dataset for Object DeTection in Aerial Images是用于航拍图像中目
  • 使用hexo+github搭建个人博客

    摘要 本文讲述如何使用hexo github搭建属于自己的个人博客 并且配置相应的主题使自己的博客更加美观 1 概念介绍 博客这东西大家应该都不陌生 网上有很多各式各样的博客 很多人也萌生了搭建自己的博客的想法 但是奈何技术有限 前后端技术