先來說說為什么我會用hexo寫博客
- 因為最近對node.js產生了興趣,通過學習一些node源碼來了解node開發
- 之前一直沒有用過git,hexo基于github來寫博客同時可以用git來對hexo源碼進行跟進和改進,感覺可以讓自己對git的實際運用有所幫助
- 還有一個就是最根本的原因,我本來就想自己搞一個獨立博客,恰巧發現hexo的方案非常優雅(之前我本來用JavaEE+vps方案,整體的設計和現在的hexo博客差不多,代碼都寫好了,只是一直感覺網站備案問題比較麻煩就沒去搞)
如何開始hexo搭建,可以參照這篇文章hexo你的博客。照著這篇文章去做,基本上就沒問題了,我也不想重復發明輪子,寫一些類似hexo入門的文章。
當然,我還是要說說我在使用hexo的過程中獲得了什么,以及我建立這個博客的方式是怎樣的。
因為我一直以來幾乎是JavaEE全棧式開發,所以我也會負責前端的開發工作,在前端頁面渲染的時候經常會寫類似于如下的代碼:
var html = "";
html+="<h1>"+data.title+"</h1>";
html+="<ul>";
for(i=0; i<data.o.length; i++) {
html += "<li><a href='" + data.o[i] + "'>";
html += data.o[i]+"</a></li>";
}
html += "</ul>";
hexo使用了EJS模板引擎,那么上面的代碼就如下:
<h1><%= title %></h1>
<ul>
<%
for(i=0; i<o.length; i++) {
%>
<li>
<a href='<%= o[i] %>'>
<%= o[i] %>
</a>
</li>
<% } %>
</ul>
可以發現這幾乎和Jsp一樣,也就是說hexo使用EJS模板引擎讓靜態的html開發變成了類似于我所熟悉的動態Jsp開發一樣。當然EJS不僅僅用于后端node開發,同樣可以放到前端的html中(畢竟是js,放到瀏覽器就可以執行),這讓我不再如以前的前端開發時寫一些難于維護的js代碼了,現在寫一個.ejs文件的模版即可。
hexo使用了stylus的css預處理器,我之前也有了解到如sass和less這樣的預處理器,但畢竟習慣一旦養成改起來困難,一直以來我前端開發都是習慣直接寫css,在制作我現在您所看到的博客主題時并沒有用到stylus相關的東西。不過css預處理器的出現是有其道理的,在今后對hexo的探索中我想我會逐漸轉到使用stylus中。
既然說到css,那當然是和制作主題相關了。一開始我也不知道該如何對主題進行更加個性化的修改,因為我發現下載下來的主題大都是stylus寫成,上面我也說了我習慣直接寫css,直到我看到這篇文章:從零開始定制hexo主題。與其修改其他的主題里面自己不熟悉的東西(因為你不知道改一個地方會不會改出其他問題),不如直接自己來做主題。通過上面這篇文章和參考官方文檔,最終如您所見,主題就是這個樣子了。
基礎的東西該搭建的都搭建完了,是時候開始寫文章了。我是直接用記事本寫文章的,我覺得用markdown寫文章真的是我見過最優雅的方式,這賦予了像記事本這種純文本編輯器強大的排版功能,因為像寫html/js/css這些東西我一直以來也都是用記事本,也許正因為這樣,從用html這種復雜的排版到用markdown排版的時候,我突然覺得從未有過的暢快。至于markdown,我覺得不用學,每當我不知道怎么排版的時候我都會打開Cmd Markdown這個網站,然后找到想要的照著做就行了。markdown還算簡單,用多了就熟了。
hexo心得目前暫時就這些,對于我這個程序猿來說,喜歡追求優雅的去實現各種程序和功能,而hexo用一種很優雅的方式讓你建立博客、寫博客,我對hexo的作者tommy351表示非常敬佩。
注:原文地址來自于我的博客http://xxgg.co/2014/08/17/my-hexo-experience/ ,我會把一些自我感覺良好的文章也發到簡書,希望能與更多的人分享。