利用GitHub Pages和Hexo搭建个人博客
本文首发地址: 非生异也
本项目源码托管在GitHub上
Why
阮一峰曾经说过:喜欢写Blog的人,会经历3个阶段。
第一阶段,刚接触Blog,觉得很新鲜,试着选择一个免费空间来写。
第二阶段,发现免费空间限制太多,就自己购买域名和空间,搭建独立博客。
第三阶段,觉得独立博客的管理太麻烦,最好在保留控制权的前提下,让别人来管,自己只负责写文章。
在这之前,我在博客园里写了两年的博客,数量虽然不多,但都是自己学习过程的真实记录,这属于第一阶段。随着学习的东西越来越多,总想着要有个独立的个人主页,于是就开始不停地Google。最终在SAE + WordPress 和 GitHub Pages + Hexo 之间选择了后者,一是因为Git的存在,二是因为喜欢这种轻量级框架的简单而强大。
Start
GitHub Pages
GitHub Pages的官方介绍是 Websites for you and your projects. 利用它只需要简单的几步,就可以建立一个自己的站点,前提是已经有了一个GitHub帐号。
1、Create a repository:
repository名称的格式必须为 username.github.io (username为自己的GitHub帐号。)
2、Clone the repository:
$ git clone https://github.com/username/username.github.io
3、Hello World:
$ cd user.github.io
$ exho "Hello World" > index.html
4、 Push it:
$ git add --all
$ git commit -m "Initial commit"
$ git push -u origin master
5、已经生成了你的主页 http://username.github.io
Hexo
Hexo是一个快速、简洁且高效的博客框架,具有如下特点:
急速生成静态网页
支持Markdown
一键部署博客到GitHub Pages等平台
丰富的插件支持
1、 先在本地环境配置好Hexo
$ npm install hexo-cli -g
$ hexo init username.github.io
$ cd username.github.io
$ npm install
$ hexo server
2、将博客部署到GitHub上:这时在浏览器输入http://localhost:4000 就可以在本地预览博客了
安装 hexo-deployer-git
$ npm install hexo-deployer-git --save
修改配置文件_config.yml
deploy:
type: git
repo: <repository url>
提交到GitHub上
$ hexo clean
$ hexo g
$ hexo d
此时访问 http://username.github.io 就和本地一样的效果了。更多Hexo的使用访问Hexo官方文档
Append
现在已经可以通过访问你的GitHub Pages二级域名来访问你的博客了,不过既然是独立博客,当然是应该通过独立域名来访问。
购买域名
由于在国内购买域名需要备案(虽然我已经备案过了),费时比较长,所以我又在国外购买了一个域名。而且正好赶上namecheap疯狂促销,就以很满意的价格买了一年的。
域名解析
添加CNAME
在usname.github.io/source/下新建CNAME文件,写入购买的域名,保存并部署。
DNS设置
建议使用DNSpod,添加两条A记录分别为
192.30.252.153
192.30.252.154
这两个IP即GitHub Pages的IP。
去namecheap修改DNS地址
在域名设置里面将DNS改为DNSpod提供的DNS
f1g1ns1.dnspod.net
f1g1ns2.dnspod.net
可能需要等段时间才能生效。
后记
本文有些地方可能写得不够清晰,欢迎留言交流。
利用GitHub Pages和Hexo搭建个人博客的更多相关文章
- 利用GitHub Pages + jekyll快速搭建个人博客
前言 想搭建自己博客很久了(虽然搭了也不见得能产出多频繁). 最初萌生想写自己博客的想法,想象中,是自己一行一行码出来的成品,对众多快速构建+模板式搭建不屑一顾,也是那段时间给闲的,从前后端选型.数据 ...
- 利用GitHub+Node.js+Hexo搭建个人博客
本篇是自己在搭建Hexo博客平台时的一个过程记录.(2019.9.13实测有效) GitHub 账号注册 因为此文所搭建的个人博客是基于GitHub平台服务的,所以首先是注册GitHub,当然已有账号 ...
- 使用github pages, hexo搭建个人博客教程
具体的原理性的东西就不说了直接上教程,怕等下自己忘了. 一. github 阶段 申请一个github 账号并成功登录进去. 创建一个名字为xxx.github.io的空项目. 二. hexo 阶段 ...
- Github Pages和Hexo创建静态博客网站
Github Pages和Hexo创建静态博客网站 安装Node.js 本人是window环境,所以下载window版. 下载地址:https://nodejs.org/en/download/ 下载 ...
- 使用Github Pages和Hexo构建个人博客
Github Pages可以创建免费的静态站点,支持自带主题.支持自制页面等,并且可以使用Jekyll或者Hexo等静态博客框架进行管理. 独立博客是博客园等博客平台之外的一个良好补充,相比使用虚拟主 ...
- 在GitHub上使用Hexo搭建静态博客
搭建静态博客须要一个前提是电脑上有安装git而且有github帐号,这个不懂能够看廖雪峰先生的git教程 1.下载nodejs.在官网上能够下载 2.使用git进入你新建的一个目录,输入命令 npm ...
- github page 和 hexo 搭建在线博客
目录: 安装node.js与git 常用git命令 安装hexo 配置hexo hexo发布到github 1.安装node.js和git工具 https://nodejs.org/en/ 直接下载安 ...
- Linux下使用 github+hexo 搭建个人博客02-hexo部署到Github Pages
之前的这篇文章<Linux下使用 github+hexo 搭建个人博客01-hexo搭建>,相信大家都知道怎么搭建 hexo ,怎么切换主题,并且完成了一篇博文的创建,以及 MarkDow ...
- GitHub Pages + Hexo搭建个人博客网站-github风格-采坑记录
目录 1.本机安装nodejs 2.github上创建仓库 3.安装hexo 4.hexo主题 5.配置主题 6.添加文章 7.使用分类和标签 8.增加文章目录 9.推送github 使用github ...
随机推荐
- 浅谈ASP.NET的Postback
说道ASP.NET的Postback,就得说Web Page的生命周期,但是Web Page的生命周期却不是三言两语就能够说得清楚的,所以在这里单纯站的编程的角度,撇开Web Page 的生命周期浅谈 ...
- DedeCms V5.6 plus/advancedsearch.php 任意sql语句执行漏洞
漏洞版本: DedeCms V5.6 漏洞描述: DedeCMS内容管理系统软件采用XML名字空间风格核心模板:模板全部使用文件形式保存,对用户设计模板.网站升级转移均提供很大的便利,健壮的模板标签为 ...
- 初见-TensorRT简介<转>
下面是TensorRT的介绍,也可以参考官方文档,更权威一些:https://developer.nvidia.com/tensorrt 关于TensorRT首先要清楚以下几点: 1. TensorR ...
- DataBindings的用法
在C#操作数据库过程中,针对一般的文本控件,比如TextBox,Label等,我们赋值直接使用类似TextBox.Text=****的方式来进行,这种方式从某种意义上来说的确是最简便的方式,但是对于复 ...
- Mongodb 常用命令2
1.把一个collection里面的数据复制到另一个collection中,比如category集合中数据备份到category_clone中 db.category.find().forEach(f ...
- Elasticsearch入门基础(1)
基础概念 Elasticsearch有几个核心概念.从一开始理解这些概念会对整个学习过程有莫大的帮助. 接近实时(NRT) Elasticsearch是一个接近实时的搜索平台.这意味着 ...
- [AngularJS] Angular1.3 ngAria - 1
Accessibility is an often overlooked essential feature of a web application. a11y Is a critical comp ...
- Maven项目结合POI导出Excl表格Demo-亲测可用
Maven项目结合POI导出Excl表格 一.POM文件添加依赖 <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> ...
- QtGui.QSplitter
A QtGui.QSplitter lets the user control the size of child widgets by dragging the boundary between t ...
- JAVA生成解析二维码
package com.mohe.twocode; import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.B ...