hexo+github page搭建个人博客


阅读须知

本篇文章参考了很多大佬写的文章,写这篇文章主要是为了记录自己搭建博客的历程,如果哪里有错误的,希望各位大佬们在评论区里指出,小弟在此先行谢过了,哈哈哈。

前言

目前,主流的博客主要分静态博客和动态博客两类:

所谓动态,就是指有前端有后端,可以登录到后台进行管理。静态博客是纯前端的展示,没有后端。

1、动态博客搭建

a. 直接在简书、CSDN、知乎、博客园等动态博客公共平台上写。

  • 优点:简单
  • 缺点:别人家的东西限制多

b. 使用WordPress等成熟框架搭建动态博客 + 服务器部署

  • 优点:相对简单
  • 缺点:笨重

c. 使用Java、PHP、Python等语言开发属于自己的动态博客 + 服务器部署

  • 优点:功能强大
  • 缺点:麻烦、不易上手

2、静态博客搭建

a. 使用Hexo、Hugo、jekyll等主流博客框架搭建静态博客 + 托管在GitHub、码云等公共平台。

  • 优点:轻量级、易上手、不花钱
  • 缺点:访问速度慢

b. 使用Hexo、Hugo、jekyll等主流博客框架搭建静态博客 + 云端服务器部署。

  • 优点:有独立的域名、访问速度快、自主可控
  • 缺点:要花钱买域名和云服务器

(我这里用的就是“Hexo+github page”这种方法,后续有需要的话会选择部署到阿里云ECS服务器上)

第一部分 搭建环境

准备 nodejs和 git 环境
安装 NodeJS,因为 Hexo 是基于 Node.js 驱动的一款博客框架

1、安装nodejs

进入nodejs中文网或者nodejs官网

选择下载路径,建议安装的路径不要有中文或者空格,下图是我的安装路径。

点击【next】后,安装模式选的是:Add to PATH,可以保证安装后的路径,已经在系统环境path中无需进行另外的配置。

点击【next】后,显示是否自动安装必要工具(我没选)。之后【next】,【install】,然后等待安装完成。

安装完成后,可以在命令行(cmd进入)中输入【node -v 】来查看安装版本和是否安装成功

2、安装git

git,一个分布式版本控制系统,用于项目的版本控制管理,作者是 Linux 之父。如果 Git 还不熟悉可以参考廖雪峰大神的 Git 教程。

官网下载:https://git-scm.com/download

开始安装

选择安装路径

选择安装组件

选择菜单文件–默认

选择Git使用的默认编辑器–默认

系统环境变量选择– 默认

SSL证书选择– 默认

配置行尾结束– 默认

终端仿真配置– 默认

使用默认配置

测试

为git添加环境变量

如果你需要在cmd中使用git命令,可以给git添加环境变量,在git bash中使用where git命令可以找到git的安装目录,例如我的是

E:\Git\bin

3、安装Hexo

如果以上环境准备好了就可以使用 npm 开始安装 Hexo 了。也可查看 Hexo 的详细文档。
在命令行输入执行以下命令:

npm install -g hexo-cli

3.1、初始化Hexo

创建一个文件夹存放hexo,我的是E:\hexo3.1.0,之后进入我的hexo3.1.0文件夹

cd hexo3.1.0

初始化hexo,在文件夹hexo3.1.0创建我的个人博客文件夹名称myBlog

hexo init myBlog

注意后续的命令均需要在站点目录下(我的是E:\hexo3.1.0\ myBlog)使用Git Bash运行。

初始化操作完成后,Hexo会自动在目标文件夹建立网站所需要的所有文件,不过还需安装node的组件,使用下面的命令:

npm install

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

.
├── _config.yml # 网站的配置信息,您可以在此配置大部分的参数。 
├── package.json
├── scaffolds # 模版文件夹
├── source  # 资源文件夹,除 _posts 文件,其他以下划线_开头的文件或者文件夹不会被编译打包到public文件夹
|   ├── _drafts # 草稿文件
|   └── _posts # 文章Markdowm文件 
└── themes  # 主题文件夹

安装完成后,就可以在本地查看hexo博客了,在终端执行下面的命令:

hexo g

之后执行下面的命令,打开本地hexo服务,默认的端口号为4000

hexo s

注意:hexo安装成功,并且正确运行,但是localhost:4000不能访问,原因是:你的电脑端口4000被占用了,如果你的电脑安装了福昕阅读器的话,可以指定hexo启动的端口:

hexo s -p 5000

至此,你本地的博客就已经搭建成功,接下来就是部署到 Github Pages了。

简写Tips:

hexo n "我的博客" == hexo new "我的博客" == hexo new post "我的博客" #新建文章
hexo p == hexo publish
hexo g == hexo generate #生成网站静态文件到默认设置的public文件夹
hexo s == hexo server #启动服务预览
hexo d == hexo deploy #部署网站到设定的仓库
hexo g -d == hexo generate --deploy
注意:hexo clean没有简写

4、注册 Github以及Github Pages创建

注册github后,创建一个new repository仓库

注意:Github 仅能使用一个同名仓库的代码托管一个静态站点

这里有一个硬性规定就是仓库名一定是用户名.github.io,比如我的用户名是xinglingyingxue,那么我的仓库名就是xinglingyingxue.github.io

这里我已经创建了一个仓库了,所以显示仓库名称已存在

然后打开仓库创建一个 index.html 文件,并随意先写点内容,比如 Hello World

这个时候打开 [http://你的用户名.github.io]就可以看到你的站点啦,是不是很简单!

index.html 内容只是暂时的预览效果,后面把 Hexo 的文件部署上去就可以在 [http://你的用户名.github.io]看到你自己的博客啦! 比如我的就是 http://xinglingyingxue.github.io 了。

5、配置 SSH key

配置SSH keys的主要目的是让本地git项目和远程github建立联系。

5.1、生成新的SSH key

在终端执行如下命令:

$ ssh-keygen -t rsa -C "邮件地址@youremail.com"

注意: 此处的邮箱地址,你可以输入自己的邮箱地址;此处的「-C」的是大写的「C」

之后系统会提示你输入密码:

Enter passphrase (empty for no passphrase):<输入加密串>
Enter same passphrase again:<再次输入加密串>

在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。这个设置是防止别人往你的项目里提交内容。

注意:输入密码的时候没有*字样的,你直接输入就可以了。

5.2、添加SSH Key到GitHub

在本机设置SSH Key之后,需要添加到GitHub上,这样才能建立起联系。

.ssh文件里有两个文件,分别是id_rsaid_rsa.pub,使用文本文件打开id_rsa.pub,拷贝里面的内容。

登录github网站,点击右上角的头像,在弹出菜单中点击Settings,之后点击SSH and GPG keys,

在点击New SSH key,

把拷贝的id_rsa.pub的内容,添加到key里面,如下图:

5.3、测试(使用git-bash)

可以输入下面的命令,看看设置是否成功,[git@github.com]的部分不要修改:

$ssh -T git@github.com

1.如果是下面的反馈:

The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?

输入yes,然后会看到:

Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.

2.如果已经设置过了,而且设置了连接密码,会出现

Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':

此时,输入连接密码即可,也会出现

Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.

5.4、设置用户信息

现在你已经可以通过 SSH 链接到 GitHub 了,还有一些个人信息需要完善的。

Git 会根据用户的名字和邮箱来记录提交。GitHub 也是用这些信息来做权限的处理,输入下面的代码进行个人信息的设置,把名称和邮箱替换成你自己的,名字必须是你的真名,而不是GitHub的昵称。

$ git config --global user.name "xxx"//用户名
$ git config --global user.email  "xxx@xxx.com"//填写自己的邮箱

注意:git config命令的–-global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

配置好之后可以使用命令

git config -l

查看配置信息

5.5、配置博客托管平台

打开博客根目录里的_config.yml,滑到文件最底部,有一个deploy,在deploy下面添加一个repo项 ,一个branch项。填入如下代码:

type: git
repo: git@github.com:Github用户名/github用户名.github.io.git  
//也可使用https地址,如:https://github.com/Github用户名/Github用户名.github.io.git            
branch: master

注意:yml语法极度严格,type、repo、branch等所有设置参数属性末尾都要加空格

第二部分 hexo进阶

Hexo相关目录文件

1、博客目录构成介绍

config.yml          #配置文件
node_modules    #nodejs各种库的目录
public            #生成的静态文件,这个目录最终会发布到服务器 
scaffolds        #通用模板,里面就三个文件,存储着新文章和新页面的初始设置 
source             #保存编写的markdown文件
themes             #博客主题文件

2、hexo基本配置

在文件根目录下的_config.yml,就是整个hexo框架的配置文件了。可以在里面修改大部分的配置。详细可参考官方的配置描述

更换主题及主题自定义配置

网上大多数主题都是github排名第一的Next主题,但是我个人不是很喜欢,我在网上看到一个主题感觉还不错:hexo-theme-matery,地址在传送门。这个主题看着比较漂亮,并且响应式比较友好,点起来很舒服,功能也比较很多。

这里我说下官方文档没有具体提及的以及我搭建博客时的一些自定义修改:

1、修改首页subtitle,使之显示动态诗词

/themes/matery/layout/_partial/head.ejs添加下面的一行代码:

<script src="https://sdk.jinrishici.com/v2/browser/jinrishici.js" charset="utf-8"></script>

然后再将/themes/matery/layout/_partial/bg-cover-content.ejs中的<%= config.description %>改为<%- '正在加载今日诗词....' %>,这个使用前提是将主题配置文件的subtitle的值改为false。

2、关于我页面添加个人简历

打开theme/matery/layout/about.ejs文件,大约在13行。有一个``标签,找出其对应结尾的标签,大约在61行左右,然后在新增如下代码:

<div class="card">
     <div class="card-content">
         <div class="card-content article-card-content">
             <div class="title center-align" data-aos="zoom-in-up">
                 <i class="fa fa-address-book"></i>&nbsp;&nbsp;<%- __('个人简历') %>
              </div>
                 <div id="articleContent" data-aos="fade-up">
                     <%- page.content %>
                 </div>
           </div>
      </div>
</div>

注意粘贴的位置和空格要正确,这里的位置随你自己设置,你也可以把简历作为第一个card,然后/source/about/index.md下面写上你的简历了(就像写博客一样)。

3、添加自定义页面

首先在站点目录下的source文件夹下新建aboutme文件,文件名可自定义,然后编写一个index.html放入aboutme文件夹下,然后在主题配置文件下的导航配置信息添加下面的配置:

About:
    url: /
    icon: fas fa-address-card
    children:
      - name: 关于我
        url: /about
        icon: fas fa-user-circle
      - name: Another    #这是新添加的,在原有配置基础上添加
        url: /aboutme
        icon: fa fa-user-secret

然后在站点配置文件下,找到skip_render,在后面添加属性,如下:

skip_render: aboutme/**  # 其意思为在对文件进行渲染时跳过aboutme文件下的所有文件

知道方法后,你可以添加你自己想要添加的页面,让你的博客内容更加充实。

4、豆瓣书单电影页面

1.首先在博客站点目录执行下面的命令安装豆瓣插件:

npm install hexo-douban --save

2.紧接着在博客站点目录的配置文件_config.yml下,添加如下配置:

douban: 
  user: 182598673    #这个需要修改为你个人的id  
  builtin: false   #如果想生成豆瓣页面,这个需要设置为true
  book: 
      title: 'This is my book title' 
      quote: 'This is my book quote' 
  movie: 
      title: 'This is my movie title' 
      quote: 'This is my movie quote' 
  game: 
      title: 'This is my game title' 
      quote: 'This is my game quote' 
  timeout: 10000
  • user:你的豆瓣ID。打开豆瓣,登入账户,然后在右上角点击 ”个人主页“,这时候地址栏的URL大概是这样:https://www.douban.com/people/xxxxxx/ ,其中的”xxxxxx”就是你的个人ID了。
  • builtin:是否将生成页面的功能嵌入 hexo shexo g 中,默认是 false ,另一可选项为 true 。
  • title: 该页面的标题。
  • quote: 写在页面开头的一段话,支持html语法。
  • timeout: 爬取数据的超时时间,默认是 10000ms,如果在使用时发现报了超时的错(ETIMEOUT)可以把这个数据设置的大一点。

如果只想显示某一个页面(比如movie),那就把其他的配置项注释掉即可。

3.然后再主题配置文件_config.yml中添加关于此页面的菜单:(下面是我的配置)

清单:
    icon: fas fa-list
    children:
      - name: 书单
        url: /books
        icon: fas fa-book
      - name: 视频
        url: /videos
        icon: fas fa-film
      - name: 电影
        url: /movies
        icon: fas fa-film
      - name: 音乐
        url: /musics
        icon: fas fa-music

4.适配Matery主题:在 /themes/hexo-theme-matery/layout 文件夹下面创建一个名为 douban.ejs 的文件,并将下面的内容复制进去:

<%- partial('_partial/post-cover') %> 
<style> 
    .hexo-douban-picture img {
        width: 100%; 
    } 
</style>
<main class="content"> 
    <div id="contact" class="container chip-container"> 
        <div class="card"> 
            <div class="card-content" style="padding: 30px"> 
                <h1 style="margin: 10px 0 10px 0px;"><%= page.title %></h1> 
                <%- page.content %> 
            </div> 
        </div> 
        <div class="card"> 
            <div class="card-content" style="text-align: center"> 
                <h3 style="margin: 5px 0 5px 5px;">如果你有好的内容推荐,欢迎在下面留言!</h3> 
            </div> 
        </div> 
        <div class="card"> 
            <% if (theme.gitalk && theme.gitalk.enable) { %>
                <%- partial('_partial/gitalk') %>
            <% } %> 
            <% if (theme.gitment.enable) { %> 
                <%- partial('_partial/gitment') %> 
            <% } %> 
            <% if (theme.disqus.enable) { %> 
                <%- partial('_partial/disqus') %> 
            <% } %> 
            <% if (theme.livere && theme.livere.enable) { %> 
                <%- partial('_partial/livere') %> 
            <% } %> 
            <% if (theme.valine && theme.valine.enable) { %> 
                <%- partial('_partial/valine') %> 
            <% } %> 
        </div> 
    </div> 
</main>

5.然后在博客站点目录下的node_modules文件夹下找到hexo-douban/lib,文件夹下有三个js文件,分别为:books-generator.jsgames-generator.jsmovies-generator.js,用文本编辑器打开这三个文件,并将其文件内容末尾的代码修改为一下内容:

/* 原文件内容为 layout: [`page`, `post`] ,将其修改为下面的内容*/
layout: [`page`, `douban`]

6.最后就是使用并生成相应的页面,执行命令如下:

hexo douban     

需要注意的是,通常大家都喜欢用hexo d来作为 hexo deploy 命令的简化,但是当安装了 hexo douban 之后,就不能用hexo d 了,因为 hexo doubanhexo deploy的前缀都是 hexo d ,你以后执行的 hexo d 将不再是 Hexo 页面的生成,而是豆瓣页面的生成。

以下是可选的命令参数:

-h, --help    # 帮助页面
-b, --books   # 只生成书单页面
-g, --games   # 只生成游戏页面
-m, --movies  # 只生成电影页面

当站点配置文件的builtin的值为true时,生成页面的功能会嵌入到hexo ghexo s中,在进行部署生成操作,会自动生成相应的页面

5、使用jsDelivr进行CDN加速

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。——百度百科

放在Github的资源在国内加载速度比较慢,因此需要使用CDN加速来优化网站打开速度,jsDelivr + Github便是免费且好用的CDN,非常适合博客网站使用。

1.首先新建GitHub仓库

2.克隆到GitHub仓库到本地

点击图中所示的Clone or download按钮,一键复制仓库地址。

自己在本地git仓库执行以下命令:

git clone 复制的仓库地址

3.上传资源

复制需要上传的资源到本地git仓库(注:jsDelivr不支持加载超过20M的资源),在本地git仓库目录下右键 Git Bash Here,执行以下命令:

git status     //查看状态
git add .     //添加所有文件到暂存区
git commit -m '第一次提交'      //把文件提交到仓库,添加描述
git push      //推送至远程仓库

4.发布仓库

点击release,进行版本的发布。

5.通过jsdelivr引用资源

使用方法:https://cdn.jsdelivr.net/gh/你的用户名/你的仓库名@发布的版本号/文件路径

例如:我的是:https://cdn.jsdelivr.net/gh/xinglingyingxue/cdn@1.0/source/images/avatar.jpg

注意:版本号不是必需的,是为了区分新旧资源,如果不使用版本号,将会直接引用最新资源,除此之外还可以使用某个范围内的版本,查看所有资源等,具体使用方法如下:

6、博客中添加视频

6.1、简介

hexo-tag-dplayerDPlayer 播放器的 Hexo 标签插件,可在hexo文章中插入视频,官方文档

6.2、安装

博客根目录中安装hexo-tag-dplayer插件

npm install hexo-tag-dplayer
6.3、语法
{% dplayer "url=" %}

常用参数如下:

名称 默认值 描述
url 必填值 视频链接
pic - 视频封面
loop false 视频循环播放
theme ‘#b7daff’ 主题色
autoplay false 视频自动播放
volume 0.7 播放器音量
6.4、应用

在md文章中添加如下代码

{% dplayer "url=https://image.xinglingyingxue.com/blog/articles/suixiang/58750/videos/1.mp4"  "pic=https://image.xinglingyingxue.com/blog/articles/suixiang/58750/videos/1.jpg" "loop=true" "theme=#FADFA3" "autoplay=false"  %}

7、博客中添加音乐

7.1、简介

hexo-tag-aplayerAPlayer 播放器的 Hexo 标签插件(现已支持 MetingJS),官方文档

7.2、安装

博客根目录中安装hexo-tag-aplayer插件

npm install hexo-tag-aplayer
7.3、方法一
{% aplayer title author url [picture_url, narrow, autoplay, width:xxx, lrc:xxx] %}

常用参数如下:

  • title : 曲目标题
  • author: 曲目作者
  • url: 音乐文件 URL 地址
  • picture_url: (可选) 音乐对应的图片地址
  • narrow: (可选)播放器袖珍风格
  • autoplay: (可选) 自动播放,移动端浏览器暂时不支持此功能
  • width:xxx: (可选) 播放器宽度 (默认: 100%)
  • lrc:xxx: (可选)歌词文件 URL 地址

示例:

{% aplayer "她的睫毛" "周杰伦" "http://home.ustc.edu.cn/~mmmwhy/%d6%dc%bd%dc%c2%d7%20-%20%cb%fd%b5%c4%bd%de%c3%ab.mp3"  "http://home.ustc.edu.cn/~mmmwhy/jay.jpg" %}
7.4、方法二

MetingJS 是基于Meting API 的 APlayer 衍生播放器,引入 MetingJS 后,播放器将支持对于 QQ音乐、网易云音乐、虾米、酷狗、百度等平台的音乐播放。

如果想在本插件中使用 MetingJS,请在 Hexo 配置文件 _config.yml 中设置:

aplayer:
  meting: true

接着就可以通过

在文章中使用 MetingJS 播放器了:

<!-- 简单示例 (id, server, type)  -->
{% meting "60198" "netease" "playlist" %}

<!-- 进阶示例 -->
{% meting "60198" "netease" "playlist" "autoplay" "mutex:false" "listmaxheight:340px" "preload:none" "theme:#ad7a86"%}

有关

的选项列表如下:

选项 默认值 描述
id 必须值 歌曲 id / 播放列表 id / 相册 id / 搜索关键字
server 必须值 音乐平台: netease, tencent, kugou, xiami, baidu
type 必须值 song, playlist, album, search, artist
fixed false 开启固定模式
mini false 开启迷你模式
loop all 列表循环模式:all, one,none
order list 列表播放模式: list, random
volume 0.7 播放器音量
lrctype 0 歌词格式类型
listfolded false 指定音乐播放列表是否折叠
storagename metingjs LocalStorage 中存储播放器设定的键名
autoplay true 自动播放,移动端浏览器暂时不支持此功能
mutex true 该选项开启时,如果同页面有其他 aplayer 播放,该播放器会暂停
listmaxheight 340px 播放列表的最大长度
preload auto 音乐文件预载入模式,可选项: none, metadata, auto
theme #ad7a86 播放器风格色彩设置

关于如何设置自建的 Meting API 服务器地址,以及其他 MetingJS 配置,请参考章节自定义配置

8、给代码块开启行号

在博客根目录的_config.yml中找到prism_plugin配置项line_number: false(# default false)改为true,开启行号,然后再修改博客根目录themes\matery\source\css\matery.css样式参数,在第138行位置注释掉code代码块里面的font-size项,如下:

code {
    padding: 1px 5px;
    top: 13px !important;
    font-family: Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace;
    /*font-size: 0.91rem;*/
    color: #e96900;
    background-color: #f8f8f8;
    border-radius: 2px;
}

9、添加友链

在你的博客source目录下新建 _data目录,在 _data目录中新建friends.json文件

[{
    "avatar": "https://image.xinglingyingxue.com/blog/logos/favicon.png",
    "name": "星凌映雪导航",
    "introduction": "星凌映雪个人导航,让工作更高效!",
    "url": "http://navigation.xinglingyingxue.com/",
    "title": "进去看看"
}, {
    "avatar": "http://image.luokangyuan.com/4027734.jpeg",
    "name": "闪烁之狐",
    "introduction": "编程界大佬,技术牛,人还特别好,不懂的都可以请教大佬",
    "url": "https://blinkfox.github.io/",
    "title": "前去学习"
}, {
    "avatar": "http://image.luokangyuan.com/avatar.jpg",
    "name": "ja_rome",
    "introduction": "平凡的脚步也可以走出伟大的行程",
    "url": "https://me.csdn.net/jlh912008548",
    "title": "前去学习"
}]

10、使用Valine评论系统

matery主题默认使用的是gitalk评论系统,改为使用Valine评论系统

Valine 诞生于2017年8月7日,是一款基于LeanCloud的快速、简洁且高效的无后端评论系统。

①获取APP ID和APP key

前往LeanCloud注册或登录,进入首页创建应用

创建好后,点击刚刚创建的应用,点击设置-应用凭证,就能看到APP ID和key了

②启用Valine

hexo主题已经内置Valine评论系统,只需要修改主题下的配置文件_config.yml即可

# Valine 评论模块的配置,默认为不激活,如要使用,就请激活该配置项,并设置 appId 和 appKey.
valine:
  enable: true
  appId: xxx
  appKey: xxx
  notify: false
  verify: false
  visitor: true
  avatar: 'mm' # Gravatar style : mm/identicon/monsterid/wavatar/retro/hide
  pageSize: 10
  placeholder: 'just go go' # Comment Box placeholder
  background: /medias/comment_bg.png

如需取消某个页面/文章的评论,在md文件的front-matter中增加 comments: false

11、如何将hexo博客迁移到另一台电脑中

①安装nodejs

②安装git

③配置SSH

④安装hexo

npm install hexo-cli -g

⑤将原来电脑的文件夹复制到新电脑,只需复制_config.ymltheme/source/scaffolds/package.json.gitignore即可

⑥进入到博客目录,安装依赖

npm install

⑦安装插件

部署到git插件

npm install hexo-deployer-git --save 

常见问题

1、通过hexo g -d部署时报Error: Spawn failed错误:

这是由于git本地记录的提交版本号与github上不一致导致的,通过git reset --hard commitCode即可解决。

  • 检查本地最近提交记录,获取最后一次提交记录的更新时间及标识,如

280a7fdd46fcfd7d34e652aec15523dcd247fac8

cd .deploy_git
cat .git/logs/HEAD  
  • 获取github pages服务所关联分支的最近一次提交记录,获取更新时间及标识。地址一般为:https://github.com/用户名/仓库名/commits/分支名,如https://github.com/lxl80/blog/commits/gh-pages

  • 如果发现提交最新的提交时间/标识不一致,通过以下命令即可解决:

      git reset --hard f085038efdf79546c09641d37b2a2429c1ae8e60 #github上最新的提交标识

第三部分 hexo优化

又拍云CDN全站加速

可以参考我写的另一篇文章hexo博客添加又拍云CDN全站加速

SEO优化

可以参考大佬写的Hexo进阶之各种优化

参考链接


文章作者: 星凌映雪
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 星凌映雪 !
评论
 上一篇
阿里云服务器零基础入门 阿里云服务器零基础入门
购买域名和域名实名认证网站搭建之前我们需要注册自己的域名,因为我们不可能让用户通过“公网IP+端口”的方式访问我们的服务器,这样太不方便记忆了。我的域名是在阿里云万网购买,购买域名后要进行实名认证。 域名备案备案需要有服务器和域名。 国家
2020-05-02
下一篇 
宝塔Nginx服务器配置Hexo博客腾讯公益404页面 宝塔Nginx服务器配置Hexo博客腾讯公益404页面
背景当用户点击我们发布的一些旧链接,而 Hexo 的链接都是永久链接,如果该文章被我们删除或者更改了链接,那么用户便会显示 nginx 的 404 页面,这个页面不够友好并且不能帮我们跳转到首页。 其实,hexo 本身是具备自定义 404
2020-05-02
  目录