Mac搭建Hexo博客及NexT主题配置优化

Mac搭建Hexo博客及NexT主题配置优化

[toc]

前言

之前在简书上看到一位博主小马哥Mark写的文章很好,关于在Mac上搭建Hexo博客,后来找不到了。现在自己整理一下,方便以后回忆。

首先是准备工作:

要想使用Hexo和github pages搭建博客,需要以下环境:
Github账号一枚,并创建一个指定名字的repo
Homebrew套件管理器,主要用来安装git和node.js
Git版本管理工具
node.js
配置SSH key(推荐使用)
安装Hexo
同步Hexo博客到github
NexT主题配置及优化(如果你喜欢别的主题,请忽略)

注册Github账号

上官网注册就可以了,这里不做细说,然后点击 New repository

EA56FC38-9DE9-423C-88DF-BF36687164B8

如图,仓库名填自己用户名.github.io。点击create repository创建仓库

安装Homebrew套件管理器

Homebrew是一个强大的套件管理器,有了它你可以通过它安装其他插件,若git、node.js等
安装速度迅速。就是下载安装Homebrew比较慢。而它则需要你安卓xcode,它需要给xcode安装插件。
打开终端输入以下指令:

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

如果指令失效,可去官网查看最新指令

安装Git版本管理工具

git是一款强大的版本管理工具,开发者都知道这个,不多做说明。在终端输入以下指令:

1
brew install git

安装node.js

node.js是js的运行环境,前段都知道这个。我们用这个可以编译运行js环境,而Hexo是基于node.js的,所以要让Hexo运行,node.js环境是必不可少的。使用Homebrew安装node.js也特别简单,在终端输入如下命令:

1
brew install node

配置SSH key

这里推荐使用SSH sey,详细配置在这里有。

安装Hexo

经过以上步骤的铺垫,终于到了Hexo安装了,前面我们安装了node.js,装完node之后,我们就可以使用npm命令了,而Hexo安装就是使用npm,在终端输入以下命令:

1
npm install -g hexo

然后等待一会儿,hexo会自动完成下载安装。Hexo安装完成之后,在你喜欢的位置随意创建一个文件夹,这个文件夹以后就是你存放本地博客的地方了,通过cd filepath(filepath替换成你创建的文件夹目录)命令,进入到你创建的文件夹目录,然后执行以下命令:

1
2
hexo init
npm install

这样Hexo会在该文件夹创建本地博客所需的一切资源。这样本地博客就搭建好了,输入以下命令:

hexo g // 全拼是:hexo generate,可以简写成 hexo g
hexo s // 全拼是:hexo server,可以简写成 hexo s
这样就开启了一个本地博客服务器,打开浏览器,在地址栏输入localhost:4000,就可以查看本地博客了,hexo默认生成了一片hello world博客。注意,以上hexo开头的命令,执行目录必须是你创建的博客文件夹目录。

同步Hexo博客到Github

现在你已经可以在本机查看你的博客了,但是要想让别人通过网络可以查看你的博客,还需要一步,那就是将你的博客发布到github仓库。在terminal终端,将当前目录切换到你的本地博客目录,执行以下命令:

1
npm install hexo-deployer-git --save

安装完成之后,打开本地博客目录的_config.yml文件,编辑其中的deploy节点:

1
2
3
4
deploy:
type: git
repo: git@github.com:yourusername/youusername.github.io.git
branch: master

将上面yourusername替换成你的github用户名即可,你也可以去你开始的时候创建的名为yourusername.github.io的仓库去直接复制完整的地址,如下图:
2ED169BC-1AE8-4AE3-95C7-AD17E2A5AAFF

当前复制出来的值,就是通过SSH方式clone的地址,配置完成后,以后提交博客更新不用输用户名和密码(如果你ssh key没有设置密码的话);点击上图右上角Use HTTPS,复制出来的clone地址也可以配置到repo,但是这样,提交更新的时候,就需要输入用户名和密码了。
保存配置之后,在本地博客目录执行以下命令:

1
2
3
hexo clean  // clean本地项目,防止缓存
hexo g // 根据你编辑的md格式的博客,生成静态网页
hexo d // 将本地博客发布到github

然后,在浏览器地址栏输入yourusername.github.io就可以访问你的博客了,别人也可以通过这个地址访问你的博客。

如果想了解Hexo常用命令可以点击这里,Hexo常用命令没几个,常用的有创建新博客、clean、生成静态文件、发布等,上述官方文档有详细介绍

NexT主题配置及优化

NexT主题是一套简约的主题,详细配置请看这里,这个是NexT主题作者维护的配置文档,作者是国人,所以文档是中文的,而且写的非常详细,对照文档,所有功能都能轻松实现。等你配置完成后,你的博客将拥有评论系统,访问次数统计,站内搜索,代码高亮,百度统计,社交分享(分享到微博,微信,qq等)等等强大的功能。官方文档很详细,我就不再赘述了。

其他遗漏的点

1.如何删除一篇博文

当然,我们辛辛苦苦写了博文,一般是不会删除的,最多修改一下,但是我们搭建的过程中或者刚搭建好个人博客站点,可能一激动就发了好多测试博文,如果想删除这类文章,在Finder中,找到本地博客所在目录,找到/source/_posts文件夹,里面放了所有我们写的博客,想删除哪篇,直接在这里删除,然后再重新发布到github,这篇博文就不见了

2.fork me on github

如果你访问我的个人博客,你会发现右上角有一个倾斜的fork me on github 图标,想要集成这个图标,只需要去这里挑选你喜欢的样式,把样式代码复制过来,然后打开你本地博客目录下的themes/next/layout/layout.swig文件,然后把你复制过来的样式代码粘贴到如下位置:

1
2
3
4
5
6
7
<body itemscope itemtype="http://schema.org/WebPage" 
// ...
<a href="https://github.com/madongqiang2201">![Fork me on GitHub](https://camo.githubusercontent.com/a6677b08c955af8400f44c6298f40e7d19cc5b2d/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f677261795f3664366436642e706e67)</a>
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
<div class="header-inner"> {%- include '_partials/header.swig' %} </div>
</header>
// ...

其中哪个超链接就是复制的样式代码,粘贴位置在body内header标签之上。

3.给博文添加tag和分类

使用如下命令:

1
hexo new "blog title"

创建的新博文文件,打开之后顶部会有一段自动生成的文本,在其中加入tag和category标签即可指定tag和分类。

1
2
3
4
5
6
---
title: blog title
date: 2016-07-20 10:59:31
tag: hexo
category: hexo
---

4.手动实现某条博文置顶

Next主题没有博文置顶相关设置(或许这个功能Hexo应该提供,但我分不清),但是我发现发布的博文是根据发布日期倒序排序的,即:越早发布的,排的越靠后!而发布日期,我们可以通过博文的头部date字段指定:

1
2
3
4
5
6
---
title: blog title
date: 2016-07-20 10:59:31 // 指定发布日期
tag: hexo
category: hexo
---

所以我们可以给想要置顶的博文,指定一个将来的日期,这样就可以让这篇博文一直排在别的博文前面,达到手工置顶的目的!但是要注意:对于已经发布的博文,发布日期和文件名称(不是title字段的值,而是md文件名)是该文章访问url的组成部分,也就意味着,已经发布的文章如果改了发布日期,针对这篇文章的链接就都不能用了,而且浏览统计等信息都会受到影响,所以手工置顶应该慎重使用!

-------------本文结束感谢您的阅读-------------