我是如何用Go語言搭建本身的博客的

前言:

話說,已經好久沒有在博客園更新博客了,以前寫的關於go語言的系列學習文章《讓咱們一塊兒Go》也因爲種種緣由一度中斷。可是,正如我以前在文章中所寫,能夠慢慢來,可是對於Go語言的學習卻不會中止,固然不僅是Go語言,對於.net技術還有其它等等等都不會中止。或許文章題目取得不太好(實在想很差名字了),由於題目中我特地強調了下是Go語言,不過我確實沒有想表達XX語言更好的意思哦(或許是我想多了^_^)。由於常常有人會挑起語言或者技術之爭,並且爲了爭論XXX語言更好而爭的面紅耳赤甚至人生攻擊。若是隻是單純的技術討論固然也是很好的,可是就是有些人會特別可怕,因此爲了碼農界的和平,這裏須要澄清下--這裏強調Go語言只是以前博主一直在學,而後確實是用它搞了一個小玩意罷了。對於用起來怎麼樣,由於雖然學好久,可是都是碎片時間學的,也算是新手,因此我也不說了,誰用誰知道嘛。並且對於像我這樣什麼都喜歡搞搞的,纔不在意有沒有XXX有木有前途呢。正如剛來博客園時候,博主熱情的學習silverlight同樣,雖然如今它彷佛不行了,可是我歷來沒後悔過(由於當時玩得很開心,也學到了不少),若是你也和我同樣,喜歡玩玩這玩玩那,那咱們或許是同一類人。好久沒寫東西,一上來就那麼多廢話,請諒解啊,太就沒說話,太飢渴了。下面進入正題吧:javascript

 

一 您是否知道Go語言?

這是第一步,若是您知道Go語言(這裏的知道指的是能夠用Go寫點小程序,能夠看懂Go寫的程序代碼),那麼您能夠跳過這,直接下一環節吧。若是您還不知道或者不瞭解,那你能夠Google下,或者看看這裏 。固然實在沒有,也能夠看看博主寫的《讓咱們一塊兒Go》(不過不建議看了,由於Go更新較快,有些內容可能過期了,並且寫的彷佛不怎麼好)。html

 

 

二 我爲何要用Go語言本身搞一個小網站?

到這裏,我有必要說明下爲何我要本身搞一個網站(博客)呢?由於我瞎折騰,哈哈。其實博客園挺好的,除了博客園還有其它一些博客也挺好。可是呢,我就是喜歡折騰,因而經過jekyll在github上搞了下博客,彷佛沒什麼難度。而後呢,不正學這Go語言嘛,就萌生了用Go試試看的想法,因而打算找個Go實現的相似東西,結果找到了一個叫hugo的項目,一看項目,我去,文件還挺多。可是對於我這樣愛鑽牛角尖的,用別人的東西,若是隻是看下文檔使用,彷佛知足不了我,我必須得把它源碼全搞明白。並且以前計劃春節前必須用Go作點小東西實踐下,因而乎我就開始糾結了,是從新造個破輪子呢仍是用別人的?大概糾結了一天,我終於決定造個破輪子吧(^_^)。因而在接下來長達一個多的星期裏,仍是利用工做之餘的時間完成了gosk 這個簡單的Go實現的靜態網站生成器(或許能夠叫靜態博客引擎,可是我以爲目前功能太簡單,仍是叫生成器比較適合)。相比前面提到的hugo,確實功能簡單了不少,固然代碼除去模版文件,代碼也是很是簡單和少的。雖然簡單,可是對於我本身來講,目前已經夠用了,固然需求老是會變的,之後還會繼續修改完善。目前已經使用它部署了本身的一個小站,若是你已經火燒眉毛想看看效果能夠點擊這裏 。博主最終決定,雖然是個破輪子,可是仍是分享出來吧,對開源事業作點貢獻呀。若是您是高手或者對這種折騰的事情沒興趣,彷佛能夠不用往下看了,由於下面我主要會介紹gosk的一些使用方法而不會介紹如何去造一個這樣的輪子(由於這樣不夠一篇文章就能搞定的,或許之後博主學的再深刻點會寫一些這樣的文章),同時很是抱歉浪費您那麼多時間,一直從文章開頭讀到了這裏:) 。若是你是新手,或者喜歡折騰,也想試試造輪子,能夠隨便fork gosk的源碼並修改或者參考gosk的源碼造本身的輪子,由於gosk是採用MIT License的。接下來,將爲新手提供一個簡單的使用教程。java

 

三 使用gosk快速生成本身的博客

首先點這裏 ,而後下載編譯好的可執行文件(這裏只介紹直接使用編譯好的應用,並且在windows平臺下,若是你想本身編譯或者要使用其它平臺,請點這裏查看詳細如何經過源碼編譯)。nginx

如上圖所示,能夠下載可執行文件。git

下載到本地後。github

能夠看到如上圖的目錄結構, 其中root目錄下就是待生成的模版文件和各類資源文件,如今不用去管它。經過windows的命令提示行,進入到gosk.exe所在的目錄,而後golang

1.運行gosk buildweb

該命令是一個編譯命令,若是一切順利,您將看到在當前目錄下會生成一個叫publish的目錄,裏面就是根據root目錄中模板生成的html頁面。小程序

2.運行gosk runwindows

這個命令將運行gosk的一個本地測試服務器,用來在本地調樣式的時候,方便本地預覽。運行後,能夠打開http://localhost/ 就能夠瀏覽生成的站點了。若是要在其它端口運行靜態資源服務器,能夠執行gosk run :8080 ,這裏將會運行在8080端口。固然在真實環境不建議使用內置服務器(雖然博主的站點在使用),由於性能可能不夠高,建議使用nginx等更合適的服務器。

 

四 如何自定義本身的個性化網站

gosk提供了自定義主題的功能,能夠方便的編寫本身的模板和主題。gosk默認提供了兩個主題(實際上是一個,只是語言不一樣)。若是想使用更多主題能夠訪問這裏,這是一個gosk的輔助項目,主要用來提供主題的。裏面有詳細介紹如何使用新的主題。若是您想編寫本身的主題,若是懂點Go語言和Css還要javascript,應該是很簡單的,因爲時間緣由,今天就不具體介紹如何定製本身的主題了。若是您有好的主題,歡迎提交到這裏與你們分享哦。

好吧,你還想問如何能夠像博主同樣將網站發佈到公網,而後有本身的域名。這方法就不少了,能夠用vps,能夠用虛擬主機,甚至能夠用樹莓派。對於喜歡折騰的你相信這點應該難不倒你,這裏就不詳細說了(我怕dudu生氣,萬一我把用戶全搞出去了,博客園不是沒人了?其實博客園很好的,嘿嘿)。

 

五 總結

今天就介紹到這裏了,行文倉促啊,可能很寫的不少不對的地方,沒辦法,由於立刻要春節了,這也算是完成了今年本身的一個任務,雖然是急急忙忙的,總算趕着春節前搞定了。----謹以此文獻給全部喜歡開源和喜歡折騰的小夥伴們,最後祝博客園愈來愈好,祝全部的園友們新年快樂!

相關文章
相關標籤/搜索