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 siteWebsit 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 从零搭建个人博客网站需要包括云服务器(虚拟主机),域名,程序环境,博客程序等方面.本博客 就是通过这几个环节建立起来的, ...
随机推荐
- Git本地分支和远程分支关联
转载:https://blog.csdn.net/cherishhere/article/details/52606884 转载:https://blog.zengrong.net/post/1746 ...
- 对html标签 元素 以及css伪类和伪元素的理解
标签:这应该都知道.<br/> .<a>.<p></p> 等都是标签. 元素:标签开始到结束.比如:<p>p之间的内容</p> ...
- fastjson常用方法
fastjson是一款alibaba公司开发的json工具包.json经常被使用在数据传输方面,因此特意对它的一些常用方法做备注,欢迎看客在评论区补充或指出问题. 首先定义一个实体类,用于我们进行对象 ...
- cf水题
题意:输入多组数据,有的数据代表硬币的长宽,有的数据代表钱包的长宽,问你当这组数据代表钱包的长宽时,能不能把它前面出现的所有硬币全部装下. 思路:只要钱包的长宽大于前面出现的所有硬币的长宽就可以装下, ...
- Python3基础 list for+continue 输出1-50之间的偶数
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- Mac通过安装Go2Shell实现“在当前目录打开iTerm2”
先上效果图: 1.从官网下载最新的版本,不要从苹果商店下载,因为苹果商店的版本比较旧,只支持Finders10.6~10.10,不支持最新的版本 http://zipzapmac.com/Go2She ...
- html 之 body topmargin、leftmargin、rightmargin、bottomnargin
基本语法 <body topmargin=value leftmargin=value rightmargin=value bottomnargin=value> 语法说明 通过设置top ...
- (转载)MySQL用命令行复制表的方法
mysql中用命令行复制表结构的方法主要有一下几种: 1.只复制表结构到新表 ; 或 CREATE TABLE 新表 LIKE 旧表 ; 注意上面两种方式,前一种方式是不会复制时的主键类型和自增方式是 ...
- spring 配置ibatis和自动分页
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
- 17秋 SDN课程 第二次上机作业
1.控制器floodlight所示可视化图形拓扑的截图,及主机拓扑连通性检测截图 拓扑 连通性 2.利用字符界面下发流表,使得'h1'和'h2' ping 不通 流表截图 连通性 3.利用字符界面下发 ...