基于hexo搭建GitHub静态博客
0.使用github pages服务搭建博客的好处
a:全是静态文件,访问速度快;
b:免费方便,不用花一分钱就可以搭建一个自由的个人博客,不需要服务器不需要后台;
c:可以随意绑定自己的域名,不仔细看的话根本看不出来你的网站是基于github的;
d:数据绝对安全,基于github的版本管理,想恢复到哪个历史版本都行;
e:博客内容可以轻松打包、转移、发布到其它平台;
备注:以上内容为网上摘抄的
1.准备
- nodejs
- hexo
- git
- github
- markdown,markdownpad
概括说明:hexo是在nodejs基础上的一个应用,可以生成网站的代码,所以建议对nodejs有所了解;git用于提交文件到github上,github提供一个仓库,存放文件,供他人查看,相当于一个服务器;我们使用markdownpad编辑器编写markdown语言的博客。
对于以上提到的内容,建议有基础的了解。
2.环境&版本等
软件 | 版本 |
---|---|
nodejs | v8.9.3 |
hexo | hexo-cli: 1.1.0 os: Windows_NT 10.0.10586 win32 x64 http_parser: 2.7.0 node: 8.9.3 v8: 6.1.534.48 uv: 1.15.0 zlib: 1.2.11 ares: 1.10.1-DEV modules: 57 nghttp2: 1.25.0 openssl: 1.0.2n icu: 59.1 unicode: 9.0 cldr: 31.0.1 tz: 2017b |
git | git version 2.15.0.windows.1 |
markdownpad | 2.5.x.x.x |
说明:github和markdown不是安装在本地的。本人是在windows系统下操作的。
3.步骤
(1)安装nodejs
到官网下载对应版本下载即可。
验证是否安装成功,在cmd环境中输入命令:
node -v
打印出对应版本信息即为安装成功。
(2)安装hexo
在cmd环境中输入命令:
npm install -g hexo
全局安装hexo。
验证是否安装成功,在cmd环境中输入命令:
hexo version
打印出对应版本信息即为安装成功。
(3)安装git
具体步骤省略。
下载Windows版本的git,安装并测试。检查是否安装成功方法:在任何一个文件夹下右键,看到有Git Bash Here等。
(4)申请github账号
如果没有方便使用的邮箱,可以重新申请一个邮箱,如163的。然后申请github账号,github官网。申请github后创建自己的仓库,创建仓库时有一个要求,如图:
当然这是把此github账号用于建立静态博客的要求。
(5)安装markdownpad
markdownpad主要用来使用markdown语言(不能说是一门语言,说是一种语法更准确)来编写博客。下载安装后要破解,怎么破解你懂的,在国内破解码到处都是,没有破解的话很多功能不可以使用。另外editplus和sublime text等文本编辑工具都可以编写markdown页面,也可以实时的去浏览效果,markdownpad仅仅是其中一个工具而已。
我本机上安装的是markdownpad2 2.5.x.x版本。由于本机是windows 10,此软件的实时效果(即右边的即时浏览功能)无法使用。此时需要本机安装另外一个软件:awesomium_v1.6.6_sdk_win.exe。安装好后重启markdownpad即可。
(6)创建hexo和git工作目录
声明:工作目录可以在本地任何地方。如创建hexo目录E:\XXX\XXX\hexo,XXX表示某一个目录。
在cmd环境中进入到目录E:\XXX\XXX\hexo,创建hexo工程,用于存放hexo博客工程,名字:blog(随意起的),命令:
hexo init blog
得到以下目录(cmd环境查看):
E:\ ***\***\hexo\blog>ls -l
total 177
-rw-r--r-- 1 danz 197121 1846 Mar 26 10:30 _config.yml
drwxr-xr-x 1 danz 197121 0 Mar 26 10:35 node_modules
-rw-r--r-- 1 danz 197121 91498 Mar 26 10:35 package-lock.json
-rw-r--r-- 1 danz 197121 443 Mar 26 10:35 package.json
drwxr-xr-x 1 danz 197121 0 Mar 26 10:30 scaffolds
drwxr-xr-x 1 danz 197121 0 Mar 26 10:30 source
drwxr-xr-x 1 danz 197121 0 Mar 26 10:30 themes
目录说明:
themes –hexo主题存放位置
source –我们编写markdown文件存放位置
_config.yml –hexo全局配置文件
node_modules –依赖文件
建立好blog工程后,默认为我们生成一个hello-world实例。此时可在cmd环境中在目录blog下输入:
hexo s 或者
hexo server
在浏览器输入: http://localhost:4000/ ,可以浏览hello文件效果;
创建git工作目录,E:\XXX\XXX\hexo\blog_commit_to_github,用于存放上传博客到github仓库的。
(7)把hello实例上传到github,并在浏览器中浏览自己的博客
a:使用hexo把hello-world.md(E:\ XXX\XXX\hexo\blog\source_posts)编译为静态网站文件,在cmd环境中进入到目录E:\XXX\XXX\hexo\blog,输入命令:
hexo g 或者
hexo generate
得到目录:
E:\ XXX\XXX\hexo2\blog>ls -l
total 209
-rw-r--r-- 1 danz 197121 1846 Mar 26 10:30 _config.yml
-rw-r--r-- 1 danz 197121 25047 Mar 26 10:46 db.json
drwxr-xr-x 1 danz 197121 0 Mar 26 10:35 node_modules
-rw-r--r-- 1 danz 197121 91498 Mar 26 10:35 package-lock.json
-rw-r--r-- 1 danz 197121 447 Mar 26 10:39 package.json
drwxr-xr-x 1 danz 197121 0 Mar 26 10:46 public
drwxr-xr-x 1 danz 197121 0 Mar 26 10:30 scaffolds
drwxr-xr-x 1 danz 197121 0 Mar 26 10:30 source
drwxr-xr-x 1 danz 197121 0 Mar 26 10:30 themes
目录说明:
此时会生成一个public文件夹,里面就是我们需要上传的文件。
如果出现一些莫名其妙的问题,可以先执行hexo clean来清理一下public的内容,然后再来重新生成和发布。
生成文件是依照hello world.md生成的,如果我们自己使用markdownpad编写了*
.md文件,把对于文件复制到E:\XXX\XXX\hexo\blog\source_posts目录,然后重新生成文档即可。
b:在cmd环境中进入到目录E:\XXX\XXX\hexo\ blog_commit_to_github,输入命令:
git clone https://github.com/XXX/XXX.github.io.git
XXX是我们申请github账号的名字,步骤(4)中隐藏的部分,如git clone https://github.com/dvlplife/dvlplife.github.io.git。把github仓库同步到本地。
E:\ ***\***\hexo\blog_commit_to_github>ls -l
total 0
drwxr-xr-x 1 danz 197121 0 Mar 26 10:54 XXX.github.io
会生成一个XXX.github.io文件夹。
把public目录下所有文件,复制到XXX.github.io文件夹下。
去到XXX.github.io文件夹下,鼠标右击选择Git Bash Here,输入命令:
git add . // 添加修改
git commit -m “备注” // 提交
git push origin master // 上传到GitHub代码库
执行这些步骤的时候不要错误,有错误的话,可以查看是什么错误,然后按照错误提示去修正即可。
c:上传成功后,此时可以到github的主页看是否有已经上传的文件:
去浏览器输入:https:// /XXX/XXX.github.io,即可访问到我们存放在github的博客了:
路径:https:// /XXX/XXX.github.io即是我们私人博客地址了。
d:下图是提交第二个文件到github的截图,可以看到,没有改动的文件是不会再次提交的:
提交一个测试文档到github中 –第二次提交的文件
上传hexo hello world文件到github中 –第一次提交的文件
(附录)命令快速浏览
node –v
npm install -g hexo
hexo version
hexo init blog
hexo new “postName” //新建文章
hexo new page “pageName” //新建页面
hexo clean
hexo s 或者
hexo server
hexo g 或者
hexo generate
git add . // 添加修改
git commit -m “备注” // 提交
git push origin master // 上传到GitHub代码库
(附录)hexo主题的更换等
默认主题很丑,我们可以挑选喜欢的主题,官网:https://hexo.io/themes/,如主题:hexo-theme-jekyll 和 hexo-theme-yilia。
下载主题到本地,在cmd环境中去到bog目录中,输入命令:
git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia
下载成功后在themes文件夹中可以到yilia。
修改_config.yml中的theme: landscape改为theme: yilia,然后重新执行hexo g来重新生成。
如果出现一些莫名其妙的问题,可以先执行hexo clean来清理一下public的内容,然后再来重新生成和发布。
另外可以定义404网页等,美化完善等工作可以自己摸索。