使用Hexo在Github上搭建自己的博客
以前的博客是使用Jekyll托管在github上,后來用著越來越不方便,比如沒有自動生成post,不能一鍵部署,文件結構和配置也是比較繁瑣,更重要的是有時候用markdown寫一篇文章,生成的靜態文件很亂,應該是有些字符解析的問題。現在下決心換成了hexo。
Nodejs安裝
因為hexo是基于nodejs的應用,所以要先安裝nodejs才可以。我這里以ubuntu為例,因為我自己一直在使用ubuntu。使用如下命令即可:
sudo apt-get install nodejs sudo apt-get install npm
Hexo安裝
Hexo 是一個功能強大的靜態網站生成系統,快速、簡潔、高效。Hexo 支持 GitHub Flavored Markdown 的所有功能,甚至可以整合 Octopress 的大多數插件。可以一鍵部署到github,還有豐富的插件和主題,還支持熱部署哦。執行如下命令進行安裝。
sudo npm install hexo-cli -g
快速開始
安裝Hexo安成后,使用如下命令快速新建一個博客系統,然后運行它:
hexo init blog cd blog npm install hexo server
如果npm安裝失敗,請使用sudo安裝。運行成功后,訪問 http://0.0.0.0:4000/ 就可以看到博客的樣子的,對就是我現在的博客這個樣子,o(∩∩)o…哈哈。
現在我們來看看Hexo 生成博客的目錄結構:
. ├── _config<span class="class">.yml</span> ├── db<span class="class">.json</span> ├── node_modules ├── package<span class="class">.json</span> ├── public ├── scaffolds ├── source └── themes
其中_config.yml是配置站點的文件,public是hexo生成的靜態站點文件夾,scaffolds是模板文件夾,source是存在用戶資源的文件夾,themes是主題文件夾。
站點配置
找到title,subtitle,author參數配置,分別配置站點的標題、副標題和作者,比如我這里是:
title: 飛雪無情的博客 subtitle: 專注于Android、Java、移動互聯網、項目管理、軟件架構 description: author: 飛雪無情 language: zh-CN
然后配置站點的url和permalink,這兩個分別是你的站點的url host地址以及文章的永久連接,我這里是:
url: http://www.flysnow.org root: / permalink: :year/:month/:day/:title.html permalink_defaults:
permalink 我配置的是年月日以及title,后綴是html,便于搜索收錄。permalink詳情參見: http://hexo.io/zh-cn/docs/permalinks.html
新增一篇文章
使用如下命令即可新增一篇md格式的文章:
hexo new 'github-page-with-hexo'
然后就會在sources/_posts生成一篇文件名為github-page-with-hexo.md的markdown文件。編輯該文件就可以寫博客了。這里有一些Front-matter需要介紹,可以配置文章使用的模板、所屬的分類和tag等。
Front-matter 是文件最上方以 —- 分隔的區域,用于指定個別文件的變量,舉例來說:
title: "使用Hexo在Github上搭建自己的博客" date: 2015-03-10 22:30:04 tags:
- Hexo
- Github categories:
- Hexo
---</pre>
請注意,目前的categories只能有一個一級分類,如果填寫多個,第二個會被解析為二級分類,以及類推。tags可以允許有多個。更多關于Front-matter請參考 http://hexo.io/zh-cn/docs/front-matter.html 。
發布到github page
首先你已經創建好了你的github page對應的git庫,沒有創建的可以google相關博客。然后新建一個hexo分支,存放你現在hexo的所有文件。然后執行如下命令清理并生成發布的靜態站點文件。
hexo clean hexo generate
然后把生成的public目錄下的文件放到你的master分支下即可。git commit后把這兩個分支推送到你的github上。git庫結構可以參見我的github page庫 https://github.com/rujews/rujews.github.io 。
最后
然后等個幾分鐘,訪問你的域名就可以看到你的網站了。如http://www.flysnow.org/ 。關于更多的Hexo請參考官方文檔 http://hexo.io/zh-cn/docs/ 。
來源: flysnow