Mac 上搭建基于 Hexo + GitHub 个人博客
环境配置
本人电脑系统:macOS
Node.js
生成静态页面。安装Node.js
Git
用于将本地 Hexo 内容提交到 Github。Xcode自带Git(前提:macOS已经安装了Xcode),若没有,可以参考 Hexo官网上的安装方法。
安装 Hexo
当 Node.js 和 Git 都安装好后,就可以正式安装 Hexo 了,终端执行如下命令:
$ sudo npm install -g hexo
输入管理员密码(Mac 登陆密码)即可开始安装。
注:
sudo
:linux系统管理指令
-g
:全局安装
注意:Hexo官网上的安装命令是
$npm install -g hexo-cli
,安装时不要忘记前面加上sudo
,否则会因为权限问题报错。
初始化
终端cd
到一个你选定的目录,执行hexo init
命令:
$ hexo init blog
注:blog是你建立的文件夹名称。
cd
到blog文件夹下,执行如下命令安装npm
:
$ npm install
执行如下命令,开启Hexo服务器:
$ hexo s
此时,浏览器中打开网址http://localhost:4000,能看到如下页面:
注:终端使用快捷键control + c可关闭Hexo服务器。
本地设置好后,接下来开始关联GitHub。
关联GitHub
创建仓库
登陆你的GitHub帐号,新建仓库,名为yours github username.github.io
固定写法,如nar1su.github.io
即下图中1
所示:
注意:图中
1
处的/
前后nar1su
的拼写必须一致,否则无法部署Hexo。
本地的blog
文件夹下内容为:
_config.yml
db.json
node_modules
package-lock.json
package.json
scaffolds
source
themes
终端cd
到blog
文件夹下,vim
打开_config.yml
,命令如下:
$ vim _config.yml
打开在最后的部分,修改成下边的样子:
deploy:
type: git
repository: https://github.com/nar1su/nar1su.github.io.git
branch: master
你只需要将repository
后的https:~~~
改为你自己的就好。在上图中2
处获取。Hexo 3.1.1版本后type:
值为git
注意:配置所有的
_config.yml
文件时(包括theme
文件夹中的_config.yml
),所有的冒号:
后边都要加一个空格,否则执行hexo
命令时会报错。
在blog
文件夹目录下执行生成静态页面命令:
$ hexo generate 或者:hexo g
此时若出现如下报错:
ERROR Local hexo not found in ~/blog
ERROR Try runing: 'npm install hexo --save'
则执行命令:
npm install hexo --save
若无报错,自行忽略此步骤
再执行配置命令:
$ hexo deploy 或者:hexo d
注意:若执行命令
hexo deploy
仍然报错:ERROR Deployer not found: git // 无法连接git或找不到git
无法连接git或找不到git,则执行如下命令来安装hexo-deployer-git:
$ npm install hexo-deployer-git --save
再次执行
hexo generate
和hexo deploy
命令。
若你未关联GitHub,则执行hexo deploy
命令时终端会提示你输入GitHub的用户名和密码,即
Username for 'https://github.com':
Password for 'https://github.com':
hexo deploy
命令执行成功之后,浏览器中打开网址https://nar1su.github.io(将nar1su
换成你的用户名)能看到和先前在本地打开http://localhost:4000时一样的页面。
为避免每次输入GitHub用户名和密码的麻烦,可参照下面4方法
添加ssh keys到GitHub
检查SSH keys是否存在GitHub
执行如下命令,检查SSH keys是否存在。
$ ls -al ~/.ssh
如果有文件id_rsa.pub
或id_rsa
,则直接进入步骤4.3将SSH key添加到GitHub中,否则执行4.2生成SSH key。
生成ssh key
执行如下命令生成public/private rsa key pair,注意将your_email@example.com换成你自己注册GitHub的邮箱地址。
$ ssh-keygen -t rsa -C "your_email@example.com"
默认会在相应路径下(~/.ssh/id_rsa.pub
)生成id_rsa
和id_rsa.pub
两个文件。
将ssh key添加到GitHub中
在终端使用cat
命令,前往文件夹~/.ssh
查看id_rsa.pub
文件,里面的信息即为SSH key,将这些信息复制到GitHub的Add SSH key页面即可。
$ cat ~/.ssh/id_rsa.pub
通过浏览器进入个人GitHub网站: GitHub -> Settings -> SSH and GPG keys -> New SSH:
Title 里任意添加一个标题,将复制的内容粘贴到 key 里,点击下方Add key
绿色按钮即可。
发布文章
终端cd
到blog
文件夹下,执行如下命令新建文章:
$ hexo new "fileName"
文件名为fileName.md
的文件会建在目录/blog/source/_posts
下,fileName
是文件名,为方便链接文件名不建议命名为汉字。你当然可以用vim来编辑文章。我在用Typora编辑器,所写即所得,虽然缺点也不少,但书写基本没什么问题。如果你有好用的markdown编辑器,请推荐我,感激不尽!
文章编辑完成后,终端cd
到blog
文件夹下,执行如下命令来发布:
$ hexo generate // 生成静态页面
$ hexo deploy // 将文章部署到GitHub
至此,macOS上搭建基于GitHub的Hexo博客就完成了。下面的内容是博客的一些个性化设置,如有兴趣,请各取所需。
安装主题(theme)
你可以到Hexo官方主题、有哪些好看的 Hexo 主题?找自己喜欢的主题。这里以hexo-theme-next为例,终端cd
到blog
目录下,执行如下命令:
$ git clone https://github.com/iissnan/hexo-theme-next themes/next
配置blog/_config.yml
文件中的theme
字段为next
:
# Extensions
## Plugins: http://hexo.io/plugins/
## Themes: http://hexo.io/themes/
theme: next
编辑完成后,终端cd
到blog
文件夹下,执行如下命令(每次部署文章的步骤)来更新GitHub上的部署:
$ hexo clean // 清除缓存文件(db.json)和已生成的静态文件(public)
$ hexo generate // 生成静态页面
$ hexo deploy // 将修改更新到GitHub
至于修改theme内容,比如:名称、描述、头像等,配置blog/_config.yml
文件和blog/themes/even/_config.yml
文件中对应的属性名称即可, 不要忘记冒号:
后加空格。 NexT 使用文档里有详细的介绍。
个人域名绑定
购买域名
我用的国外的GoDaddy(需要FQ)域名提供商,好处是不用走备案流程省事儿,然后使用DNSPOD解析域名。
好多人也在用国内的阿里万网,可以直接在其网站做域名解析。有兴趣的也可以试试。
配置GitHub端
在本地你的电脑/blog/source
目录下新建文件名为:CNAME
文件,注意没有后缀名!直接将自己的购买的域名写入即可。
$ vim Documents/blog/source/CNAME // 写入自己购买的域名,保存退出即可。
终端cd
到blog
目录下执行如下命令重新部署:
$ hexo clean
$ hexo generate
$ hexo deploy
注意:网上许多都说在GitHub上直接新建
CNAME
文件,如若这样的话,下次更新部署执行hexo deploy
命令后,CNAME
文件就会消失,因为本地没有此文件嘛!
域名解析
配置GoDaddy
购买好域名后,进入GoDaddy个人帐号中的管理域名
选项,点击三个小点
配置管理DNS
:
依次键入a.dnspod.com
、b.dnspod.com
和c.dnspod.com
,保存即可
转址
部分这样配置即可:
注:nar1su
替换为你的GitHub
用户名即可。附仅转址和掩蔽转址相关信息:
配置DNSPOD
进入DNSPOD(需FQ)注册并登陆,配置解析域名:
1) 先添加一个CNAME,主机记录写@,后面记录值写上你的xxxx.github.io
2) 再添加一个CNAME,主机记录写www,后面记录值还是xxxx.github.io
xxxx是你的GitHub用户名。这样别人用www和不用www都能访问你的网站(其实,www的方式,会先解析成xxxx.github.io,然后根据CNAME再变成xxx.com(你购买的域名),即中间是经过一次转换的)。建议直接提供不带www的域名链接,这样速度快。
上面,我们用的是CNAME别名记录,也有人使用A记录,后面的记录值是写github page里面的ip地址,但有时候IP地址会更改,导致最后解析不正确,所以还是推荐用CNAME别名记录要好些,不建议用IP。
等几分钟,刷新浏览器。访问https://houhaibushihai.me、https://www.houhaibushihai.me和https://nar1su.github.io,效果是一样的。
配置七牛
Hexo我们部署到GitHub很便捷,可惜GitHub给的免费空间很少。所以尽量还是不要把图片,视频等多媒体,大容量资源存于GitHub,否则很快资源耗尽。
七牛,是一个云存储服务提供商,注册并实名认证之后,你将免费享有10GB存储空间,每个月10GB下载流量、100万次GET请求和10万次PUT/DELETE请求。
注册七牛云
七牛云,建议实名认证获取额外的免费空间。
创建空间
注意我们添加的资源为对象存储,访问控制为公开空间
点击
内容管理
,上传文件
;点击
内容管理
,点击指定照片的复制外链
;然后回到本地 md 文件中只要写上图片语法就可以引用了。

OK了,这个时候你重新部署一下,看看是不是文章里已经有图片了呢!
添加评论板块儿
添加 Disqus 评论
点击
I want to install Disqus on my site
Websit Name
就是disqus_shortname
自己填写,但是要求全网唯一,设定后不可改变,比如我的是narisu
,这个在配置 Hexo 的blog/themes/next/_config.yml
文件时候需要用到。
Category 选择种类,可以随便选;
Language 语言选 Chinese 或者 English;
然后点 Create Site 等待界面跳转。选择 Basic 下的
Subscribe Now
。选择
Configure Disqus
,Website URL
中输入你的博客域名。如下图:配置 Hexo 的
blog/themes/next/_config.yml
文件:# Disqus disqus_shortname: narisu
注:
disqus_shortname
填入你自己的Websit Name
。
特定页面评论区禁用
禁用特定页面的评论区:
禁用about页面的评论模块儿方法:在 /source/about/ 下的 index.md 文件中,title 那栏设置(添加):comments: false 。如下:
---
title:
date: 2017-12-28 14:13:34
comments: false
---
归档 (Archive) 如何设置成没有分页
在站点配置文件
即: blog/_config.yml
文件中,添加代码:
# Archives
## 2: Enable pagination
## 1: Disable pagination
## 0: Fully Disable
archive: 1
## category: 1
## tag: 1
Reference
添加分类页面(别忘记 layout:
字段的添加)
Mac 上搭建基于 Hexo + GitHub 个人博客的更多相关文章
- 一行代码在Linux服务器上搭建基于.Net Core的博客
如果你有一台Linux服务器(CentOS7+ 或者 Ubuntu 16.04+)可以使用以下命令快速搭建一个博客. curl http://cdn.zkeasoft.com/zkeacms-blog ...
- Hexo + Github 个人博客设置以及优化
原文地址: Hexo + Github 个人博客设置以及优化 一.博客设置 分类.标签云.关于等页面 在站点目录下分别执行: hexo new page "categories" ...
- Hexo+Github个人博客搭建 | 实战经验分享
概述 第一次尝试搭建属于自己的博客,并且成功了,非常开心. 很久之前就想搭建一个博客,可是也一直没有行动,最近在逛B站的时候发现一个up主(CodeSheep)的一个视频 <手把手教你从0开始搭 ...
- 搭建自己的 github.io 博客
1.前言 github.io 是基于 Github 的 repo 管理,这意味着咱们对其是有绝对的控制,这个跟放在第三方的平台比,可控性要好太多. 使用 github pages 服务搭建博客的好处有 ...
- 六个步骤,从零开始教你搭建基于WordPress的个人博客
摘要:WordPress是使用PHP语言开发的博客平台,是免费开源的.用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站,也可以把WordPress当作一个内容管理系统(CMS)来使用 ...
- Mac上搭建基于Github的Hexo博客
Mac 上搭建基于Github的hexo博客 博客地址:往事亦如风的博客 hexo官方文档 本来想搭一个自己的博客,但是因为服务器真心买不起,所以就使用gitpages搭建一个免费的博客. 环境配置 ...
- 记github上搭建独立域名的免费博客的方法过程
前提:拥有github帐号,linux上安装好了git. 全局路线: 1. 设计一个你想要的二级域名,并在git上创建一个以[二级域名.github.com]作为项目名的repository. 过程详 ...
- 基于Hexo的个人博客搭建(下)
5.服务器端测试 —5.1 clone到/var/www/html git clone /home/git/repos/myblog.git /var/www/html chown -R git:g ...
- 从零搭建基于golang的个人博客网站
原文链接 : http://www.bugclosed.com/post/14 从零搭建个人博客网站需要包括云服务器(虚拟主机),域名,程序环境,博客程序等方面.本博客 就是通过这几个环节建立起来的, ...
随机推荐
- PT,PX,DPI
[iOS]查找数组NSArray中是否包含指定的元素 http://blog.csdn.net/zyq527758142/article/details/51278172 Dpi(每平方英寸像素数目) ...
- topcoder srm 390 div1
problem1 link 记录一个模$k$之后的值是否出现过,出现过则出现循环,无解:否则最多$k$ 次一定能出现0. import java.util.*; import java.math.*; ...
- Python3基础 dict get 在查询不存在的键时,返回指定的内容
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- (一)flutter第一天
import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp extends S ...
- SDOI2017相关分析 线段树
题目 https://loj.ac/problem/2005 思路 \[ \sum_{L}^{R}{(x_i-x)^{2}} \] \[ \sum_{L}^{R}{(x_i^2-2*x_i*x+x^{ ...
- Nvme固体硬盘Intel750,SM961分别使用一段时间以后对比
在SM961使用了一年半(2017年1月17日购买)后,再次测试,这次测试使用AS_SSD_Benchmark工具进行测试 感觉CrystalDiskMark工具测出来的分数在所以工具中分数最高 看图 ...
- CssClass="Hidden"和Visible="False"
<asp:Label ID="lblNoCustomTableItemCheckedInfo" runat="server" CssClass=" ...
- ps2016新功能
1 内容识别缩放(alt ctrl shift c) 2 内容感知移动 3 画笔大小和画笔硬度调整 alt + 鼠标右键:上下为硬度 ...
- BZOJ 3707 圈地
闲扯 BZOJ权限题,没有权限,哭了 然后DBZ不知道怎么回事,\(O(n^3)\)直接压过去了... 备忘 叉积的计算公式\(x_1y_2\) 思路 n^3 暴力枚举显然 n^2 正解的思路有点神, ...
- (转载)Rime输入法—鼠须管(Squirrel)词库添加及配置
为什么用Rime 13年底的时候,日本爆出百度的日本版本输入法的问题,要求政府人员停用,没当回事,反正我没用,当然了,有关搜狗和用户隐私有关的问题就一直没有中断过,也没太在意.但,前几天McAfee爆 ...