GitHub Pages + Hexo搭建个人博客网站,史上最全教程

news/2024/5/17 11:26:21/文章来源:https://blog.csdn.net/bbsyi/article/details/119101852

文章目录

      • 一、准备工作
        • 1. GitHub账号
        • 2. 安装Git
        • 3. 安装NodeJS
      • 二、创建仓库
      • 三、安装Hexo
      • 四、更换主题
        • 1. NexT 主题
        • 2. Fluid主题
      • 四、创建文章
      • 五、个性化页面展示
        • 1. 浏览器tab页名称
        • 2. 博客标题
        • 3. 主页正中间的文字
      • 六、添加阅读量统计
        • 1. 申请LeanCloud账号并创建应用
        • 2. 修改Fluid配置
          • 单篇文章阅读量计数
          • 页面底部展示网站的 PV、UV 统计数
      • 七、添加评论功能
      • 八、发布到GitHub Pages
        • 方式一
        • 方式二
      • 九、发布到自己服务器,Nginx代理
      • 十、最终效果展示

本文介绍如何使用GitHub Pages + Hexo搭建个人博客网站,完全免费,所有内容本人亲测,绝对可用。

一、准备工作

1. GitHub账号

需要有一个GitHub账号,没有的话到 官网 申请一个。
注册很简单,不懂的话可以参考 GitHub申请账号

2. 安装Git

在自己电脑上安装好Git,hexo部署到GitHub时要用。
网上找篇教程或者参考 Git安装(Windows)

3. 安装NodeJS

在自己电脑上安装好NodeJSHexo是基于NodeJS编写的,所以需要安装NodeJSnpm工具。
网上找篇教程或者参考 NodeJS安装及配置(Windows)

二、创建仓库

GitHub上创建一个新的代码仓库用于保存我们的网页。

点击Your repositories,进入仓库页面。
请添加图片描述
点击New按钮,进入仓库创建页面。
请添加图片描述
填写仓库名,格式必须为<用户名>.github.io,然后点击Create repository
请添加图片描述
点击creating a new file创建一个新文件,作为我们网站的主页。
请添加图片描述
新文件的名字必须为index.html,内容先随便写一个简单的,内容示例如下,填写之后点击Commit new file提交。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>yaorongke</title>
</head>
<body><h1>yaorongke的个人主页</h1><h1>Hello ~</h1>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

请添加图片描述
GitHub Pages中找到我们主页的地址为 https://yaorongke.github.io/
请添加图片描述
浏览器中访问,展示成功。
请添加图片描述
这里创建的网页是非常简陋的,只是为了演示下GitHub Pages的使用方式。

三、安装Hexo

我们采用Hexo来创建我们的博客网站,Hexo 是一个基于NodeJS的静态博客网站生成器,使用Hexo不需开发,只要进行一些必要的配置即可生成一个个性化的博客网站,非常方便。点击进入 官网。

安装 Hexo

npm install -g hexo-cli
  • 1

查看版本

hexo -v
  • 1

创建一个项目 hexo-blog 并初始化

hexo init hexo-blog
cd hexo-blog
npm install
  • 1
  • 2
  • 3

本地启动

hexo g
hexo server
  • 1
  • 2

浏览器访问 http://localhost:4000,页面默认主图风格如下
请添加图片描述

四、更换主题

Hexo 默认的主题不太好看,不过官方提供了数百种主题供用户选择,可以根据个人喜好更换,官网主题点 这里 查看。这里介绍两个主题的使用方法,NextFluid,个人比较喜欢Fluid,后面章节的功能也是以 Fluid 为基础进行讲解的。

1. NexT 主题

安装主题

cd hexo-blog
git clone https://github.com/iissnan/hexo-theme-next themes/next
  • 1
  • 2

使用 NexT 主题

打开 _config.yml 文件,该文件为站点配置文件
请添加图片描述
将主题修改为 next

theme: next
  • 1

本地启动

hexo g -d
hexo s
  • 1
  • 2

2. Fluid主题

以下安装步骤摘自 Fluid官网

安装主题

下载 最新 release 版本 解压到 themes 目录,并将解压出的文件夹重命名为 fluid

指定主题

如下修改 Hexo 博客目录中的 _config.yml

theme: fluid  # 指定主题
language: zh-CN  # 指定语言,会影响主题显示的语言,按需修改
  • 1
  • 2

创建「关于页」

首次使用主题的「关于页」需要手动创建:

hexo new page about
  • 1

创建成功后,编辑博客目录下 /source/about/index.md,添加 layout 属性。

修改后的文件示例如下:

---
title: about
date: 2020-02-23 19:20:33
layout: about
---

这里写关于页的正文,支持 Markdown, HTML

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

本地启动

hexo g -d
hexo s
  • 1
  • 2

浏览器访问 http://localhost:4000,Fluid主题风格页面如下
请添加图片描述

四、创建文章

如下修改 Hexo 博客目录中的 _config.yml,打开这个配置是为了在生成文章的时候生成一个同名的资源目录用于存放图片文件。

post_asset_folder: true
  • 1

执行如下命令创建一篇新文章,名为《测试文章》

hexo new post 测试文章
  • 1

执行完成后在source\_posts目录下生成了一个md文件和一个同名的资源目录(用于存放图片)
请添加图片描述
在资源目录测试文章中放一张图片 test.png
请添加图片描述
测试文章.md中添加内容如下,演示了图片的三种引用方式。第一种为官方推荐用法,第二种为markdown语法,第三种和前两种图片存放位置不一样,是将图片放在\source\images目录下。这三种写法在md文件中图片是无法显示的,但是在页面上能正常显示。

图片的引入方式可参考官方文档 https://hexo.io/zh-cn/docs/asset-folders.html,有详细介绍。

---
title: 测试文章
date: 2021-06-10 16:35:20
tags:
- 原创
categories:
- Java
---

这是一篇测试文章

{% asset_img test.png 图片引用方法一 %}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d9iQaYib-1627261978850)(test.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0z7w0rzj-1627261978857)(/images/test.png)]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

本地启动

hexo g -d
hexo s
  • 1
  • 2

浏览器访问 http://localhost:4000,页面如下,文章添加成功
请添加图片描述

五、个性化页面展示

页面的标题等位置显示默认的文字,可以改下显示一些个性化的信息。

1. 浏览器tab页名称

修改根目录下 _config.yml 中的 title 字段。
请添加图片描述

2. 博客标题

主题目录 themes\fluid_config.yml 中的 blog_title 字段。

请添加图片描述

3. 主页正中间的文字

主题目录 themes\fluid_config.yml 中的 text 字段。
请添加图片描述
修改好配置后,页面效果如下,可以看到现在显示的内容变成了我们的个人信息。
请添加图片描述

六、添加阅读量统计

Fluid 主题写好了统计阅读量的代码,但是缺少相应配置所以没有开启,需要借助三方服务来统计阅读量,这里是有 Leancloud 的免费服务来进行统计。

1. 申请LeanCloud账号并创建应用

进入 官网 注册账号
请添加图片描述
需实名认证,完成后才能使用各项服务
请添加图片描述
验证邮箱
请添加图片描述
创建应用,选择开发版即可,免费的
请添加图片描述
进入该应用的 设置->应用凭证,找到 AppIDAppKey,记录下来后面配置要用
请添加图片描述

2. 修改Fluid配置

打开主题目录 themes\fluid下的 _config.yml 文件,修改如下配置

单篇文章阅读量计数

打开统计开关
请添加图片描述
配置 leancloudapp_idapp_key
请添加图片描述
打开计数功能,统计来源改为 leancloud
请添加图片描述
页面效果
请添加图片描述

页面底部展示网站的 PV、UV 统计数

请添加图片描述
页面效果
请添加图片描述

七、添加评论功能

评论功能的代码已经写好了,只不过没有开启,需要修改一些配置

打开主题目录 themes\fluid下的 _config.yml 文件,修改如下配置

启用评论插件
请添加图片描述
配置 LeanCloudappIdappkey
请添加图片描述
重新部署后,查看页面效果,评论功能已开启
请添加图片描述
部署在本地时评论无法提交,会报跨域问题,发布到 GitHub Pages 上之后课正常提交评论

八、发布到GitHub Pages

方式一

安装hexo-deployer-git

npm install hexo-deployer-git --save
  • 1

修改根目录下的 _config.yml,配置 GitHub 相关信息

deploy:type: gitrepo: https://github.com/yaorongke/yaorongke.github.io.gitbranch: maintoken: ghp_3KakcaPHerunNRyMerofcFd9pblU282FSbsY
  • 1
  • 2
  • 3
  • 4
  • 5

其中 tokenGitHubPersonal access tokens,获取方式如下图
请添加图片描述
部署到GitHub

hexo g -d
  • 1

浏览器访问 https://yaorongke.github.io/,部署成功
请添加图片描述

方式二

直接将 public 目录中的文件和目录推送至 GitHub 仓库和分支中。
请添加图片描述

九、发布到自己服务器,Nginx代理

如果自己有服务器的话,也可以不使用 GitHub Pages,直接部署的自己的服务器上,通过 Nginx 进行代理,我这里有一个阿里云上的 CentOS 7 版的 Linux 服务器,演示下如何部署,步骤如下。

打开 hexo-blog 根目录下的 _config.yml,增加如下配置,这是因为把网站存放在了子目录中,要和 Nginx 配置中的 location /blog 路径一致。

root: /blog
  • 1

hexo-blog 根目录下执行打包命令,打包好的文件在 public 目录下

hexo g
  • 1

public 目录下的文件复制到 Linux 服务器上的某个目录下,我的存放目录为

/opt/rkyao/fronted/hexo-blog
  • 1

修改 Nginx 配置文件,我的 Nginx 安装路径为 /usr/local,大家根据自己实际情况调整

cd /usr/local/nginx/conf
vim nginx.conf
# server节点下添加如下配置
location /blog {alias  /opt/rkyao/fronted/hexo-blog;index  index.html index.htm;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

重启 Nginx

cd /usr/local/nginx/sbin
./nginx -s reload
  • 1
  • 2

访问博客

http://47.96.106.173/blog/
  • 1

十、最终效果展示

可访问如下地址查看
https://yaorongke.github.io/

转载:https://blog.csdn.net/yaorongke/article/details/119089190?utm_medium=distribute.pc_feed_v2.none-task-blog-hot-10.pc_personrecdepth_1-utm_source=distribute.pc_feed_v2.none-task-blog-hot-10.pc_personrec

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_754681.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

几个实用的app和网站

没有这 15 款实用的 APP 和网站&#xff0c;你每天至少浪费 1 小时做无效工&#xff01;PDF等格式转换、在线批改英语作文、无版权图片网站、高质量垂直搜索、高效办公软件……一应俱全。每一个都是我精挑细选出来的&#xff0c;同类工具中最优秀的之一&#xff0c;让我的生活变…

Vue+thinkJs博客网站(一)之vue多页面应用的webpack3配置

一.项目简介 本项目使用vue作为前端框架&#xff0c;thinkJs作为后端框架&#xff0c;构建个人博客网站&#xff0c;页面分为博客展示和后台管理&#xff0c;主要目的是学习使用thinkJs。现在只完成了主要的博客增删改功能&#xff0c;发现webpack的配置遇到了一些坑&#xff0…

网站解析的因素

对于网站来说&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;是至关重要的&#xff0c;采用易于搜索引擎索引的合理手段&#xff0c;使网站各项基本要素适合搜索引擎的检索原则并且对用户更友好&#xff08;Search Engine Friendly&#xff09;&#xff0c;从而更容易被搜…

低成本打造一个带宽无限的网站(四)

分块处理 上一篇曾提到&#xff0c;我们可对资源加密存储&#xff0c;然后在 SW 中进行解密。 理论上这当然可行&#xff0c;但事实上会出现一些问题&#xff1a;我们必须等整个资源下载完成后&#xff0c;才能开始解密操作。这对于用户体验&#xff0c;会产生很大的影响。 假如…

大型网站技术架构演化

一、大型网站软件系统的特点 1.高并发、大流量 a.什么是高并发? 高并发是互联网分布式系统架构设计中必须考虑的因素之一&#xff0c;它通常是指&#xff0c;通过设计保证系统能够同时并行处理多个请求。 b.高并发的衡量指标有哪些? (1)响应时间:系统对请求做出响应。例如系统…

搜索引擎排名都选乐云seo_seo网站优化百度排名首页360搜狗搜索引擎排名首页

最新活动&#xff1a;接网站排名首页&#xff0c;按照关键词计算&#xff0c;不接敏感词&#xff0c;不上首页不收费&#xff01;seo的用途&#xff1f;1seo概念Seo就是搜索引擎优化的缩写&#xff0c;也叫网站优化&#xff0c;主要作用就是针对于网站在搜索引擎的排名的一门技…

php末尾友链,与php程序员的笔记网站交换友链的原则

很抱歉&#xff0c;由于本网站首页友链已满&#xff0c;目前停止交换首页友链&#xff0c;内页仍可交换友链&#xff01;(2013年2月24日)随着本站友链的数量不断增多&#xff0c;本人不得不对本站的友链申请的原则进行郑重的申明一下&#xff0c;希望各位申请本站友链的站长们理…

C#队列Queue实现一个简单的电商网站秒杀程序

电商的秒杀和抢购&#xff0c;对程序员来说&#xff0c;都不是一个陌生的东西。然而&#xff0c;从技术的角度来说&#xff0c;这对于Web系统是一个巨大的考验。当一个Web系统&#xff0c;在一秒钟内收到数以万计甚至更多请求时&#xff0c;系统的优化和稳定至关重要。 我们直接…

千万pv网站架构之RabbitMQ

千万pv网站架构之RabbitMQ 简介 什么是RabbitMQ&#xff1f; MQ全称为Message Queue, 消息队列&#xff08;MQ&#xff09;是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息&#xff08;针对应用程序的数据&#xff09;来通信&#xff0c;而无需专用链接来…

ssm重新开发计科院新闻网站

本次的开发主要是套入SSM框架&#xff0c;并在前面的新闻网站的开发的基础上套入easyui的前段框架对新闻后台的增删改查的一个管理 但是实验完成过程中还有几个问题尚未解决 其一是上传新闻时&#xff0c;不能上传图片&#xff0c;这一问题在ueditor中可以进一步完善 其二在查看…

.NET使用ServerManager获取网站物理路径

最近因为工作需要&#xff0c;用wpf做了一个辅助小工具&#xff0c;如下图 为了获取网站的物理路径&#xff0c;我分析了通过ServerManager获取到的变量&#xff0c;也通过百度搜索了很多&#xff0c;但仍然没有找到方法。 后来使用必应&#xff0c;在国外网站找到了&#xff0…

Linux系统定时备份网站文件到七牛云存储脚本

1、七牛云账号注册。 有些朋友可能会问为什么要备份到七牛云&#xff1f;很简单&#xff0c;七牛云免费注册就能获取1G的存储空间&#xff0c;只要简单几步操作完成实名认证即可获取10G的存储空间&#xff0c;对于一般个人站点来说已经足够备份使用了。如果还没有七牛云存储空间…

WP的SEO工具汇总

Baidu Sitemap Generator 百度站点地图生成工具 https://wordpress.org/plugins/baidu-sitemap-generator/ This pulgin generates a Baidu XML-Sitemap for WordPress Blog. Also Build a real Static Sitemap-Page for all Search Engine. | 生成百度 Sitemap XML 文件。就相…

Mozilla Firefox 在用户访问被黑客攻击的网站时发出警告

开发四年只会写业务代码&#xff0c;分布式高并发都不会还做程序员&#xff1f; >>> Mozilla 正致力于 优化 Firefox Monitor 功能&#xff0c;该功能推出于 2018 年&#xff0c;目的是让用户确认他们的账户信息是否泄漏。目前&#xff0c;Mozilla 已经为 Firefox 用…

大数据教程(14.2)网站数据分析(二)

2019独角兽企业重金招聘Python工程师标准>>> 上一篇文章介绍了网站点击流数据分析项目业务背景&#xff1b;本篇博客博主将继续分享网站分析的相关知识。 一、整体技术流程及架构 1.1.数据处理流程 该项目是一个纯粹的数据分析项目&#xff0c;其整体流程基本上就是…

Java 爬虫遇到需要登录的网站,该怎么办?

在做爬虫时&#xff0c;遇到需要登陆的问题也比较常见&#xff0c;比如写脚本抢票之类的&#xff0c;但凡需要个人信息的都需要登陆&#xff0c;对于这类问题主要有两种解决方式&#xff1a;一种方式是手动设置 cookie &#xff0c;就是先在网站上面登录&#xff0c;复制登陆后…

网站部署到Linux服务器上并添加https证书

用的是Nginx服务器 一、部署 将网站打包成war包 放到Linux的data/wwwroot/default目录 解压&#xff1a;jar -xvf novel.war 删除war包&#xff1a;rm novel.war 删除文件夹 &#xff1a;rm -rf novel 二、申请SSL证书 网站 &#xff1a;https://www.pianyissl.com/ 三、…

当网站遭遇DDOS攻击的解决方案及展望

当网站遭遇DDOS攻击的解决方案及展望一、事件发生春节长假刚过完&#xff0c;WEB就出现故障&#xff0c;下午1点吃完回来&#xff0c;立即将桌面解锁并习惯性的检查了Web服务器。通过Web服务器性能监视软件图像显示的向下滑行的红色曲线看到WEB出现问题了。根据上述的问题&…

基于WebSphere与Domino的电子商务网站构架分析

本文出自 “李晨光原创技术博客” 博客&#xff0c;谢绝转载&#xff01; 转载于:https://www.cnblogs.com/chenguang/p/3742340.html

随时查看源码的网站---http://www.sooset.com/

由于工作需要经常要在Windows平台下参阅linux源码&#xff0c;以前都用http://lxr.linux.no/来浏览源码&#xff08;如下图所示&#xff09;,最近发现sooset来浏览更方便&#xff0c;所以介绍给大家分享。导航栏用起来很方便&#xff0c;不是吗&#xff1f;呵呵更多详情请参考&…