使用Github Pages管理團隊博客

技術團隊樂於技術分享,鼓勵內部成員通過博客文章分享技術心得。

無奈近來博客平臺廣告雲起,各類廣告商竭盡所能吸引眼球,大有喧賓奪主之勢。

衡量再三,F團隊決定另覓淨土。GitHub Pages能否成爲最後淨土,且聽下文分解。

本文在GitHub上同步更新《使用Github Pages管理團隊博客

GitHub Pages簡介

首先得了解一下什麼是github,GitHub是一個共享虛擬主機服務,用於存放使用Git版本控制的軟件代碼和內容項目(引自維基百科)。也就程序員口中常說的“全球最大的同性交友平臺”,這個平臺會提供一個靜態頁面託管服務。GitHub Pages是這樣介紹自己"You get one site per GitHub account and organization, and unlimited project sites. " 簡而言之,就是每個賬號都擁有個同名的username.github.io站點可供個性化展示。

以下是官方展示使用命令行創建GitHub Pages頁的樣例:

$ git clone https://github.com/username/username.github.io
$ cd username.github.io
$ echo "Hello World" > index.html
$ git add --all
$ git commit -m "Initial commit"
$ git push -u origin master

只需幾行命令就能擁有一個終身免費,免備案的靜態站點。當然如果使用每次發佈都要手寫html文件的話有點讓人受不了。好在GitHub對markdown格式極度友好,業界也對此開源了許多博客工具,如Hexo,Hugo,Jekyll等等。網上也有很多入門教程,如:《傻瓜都可以利用github pages建博客》。

工欲善其事必先利其器

F團隊決定入坑GitHub Pages後,關於如何管理博客。成員M安利了Hexo靜態博客框架。

官方簡紹如下:

在這裏插入圖片描述

看上去不難用,而且Hexo文檔相當完善,安裝hexo需要Nodejs環境,先去Nodejs官網下載裝好再進行下一步操作。

在這裏插入圖片描述

再看一下hexo的部署方式

在這裏插入圖片描述

通過拜讀hexo-deployer-git插件的部署方式,我們可以認爲需要新建一個hexo項目對GitHub Pages進行發佈。

於是通過hexo init lesson-learned初始化項目。

$ hexo init lesson-learned
INFO  Cloning hexo-starter to E:\git\18riders\lesson-learned
   ......
added 421 packages in 50.302s
INFO  Start blogging with Hexo!

至此,Github Pages的博客雛形算是搭好了。剩下的就是優化點了。

主要是追加hexo-deployer-githexo-asset-image兩個插件。

hexo-deployer-git支持git deploy部署模式,自不用說。

hexo-asset-image支持圖片相對路徑引用。

開始寫作

以本文爲例吧,建議使用命令行初始化文章,文章命名使用英文和橫杆連接,不要出現中文。

hexo new [post] build-team-blog-with-github-pages

上述命令會在source/_posts目錄下生產同名文件和同名文件夾。

在這裏插入圖片描述

本文所引用的圖片和其他資源都可以通過相對路徑從文件夾中引入。寫作使用markdown語法,就不展開了。

建議使用<!-- more -->標籤將摘要和正文隔開,會使得段落更錯落有致,如:

在這裏插入圖片描述
還有就是善用categories和tags標籤,使文章能更好的進行分類

在這裏插入圖片描述

寫作時可以一邊寫,一邊執行hexo s命令,進行實時預覽,能對文章進行更好的調整。

$ hexo s
$ INFO  Start processing
$ INFO  Hexo is running at http://localhost:4000 . Press Ctrl+C to stop.

在瀏覽器中打開http://localhost:4000查看效果。

preview

更多的實用寫作技巧可以查閱markdown詳細語法,如表格、圖表、數學公式之類的markdown有成熟的展示方案,還有的就是Hexo的寫作指南,本文所有提及的知識點都能在上面找到。

團隊協作

這塊其實日常開發一樣了,項目下加入成員。每個成員可以通過拉取分支再合併到主幹模式寫作,也可以自己直接推送到master分支上。推送完成,使用master分支執行hexo ghexo d命令發佈到GitHub Pages上即可。

$ hexo g
$ hexo d

當然,強烈建議能形成一版操作規範。不然這種無審覈的自由式寫作很快會分化成一鍋粥。

總結

很高興團隊能進一步擁抱GitHub生態圈,其實GitHub Pages除了作爲博客平臺外,很多個人和團隊也將其作爲自己項目的API說明和項目說明使用。如《Kafka技術內幕》作者的Kafka技術內幕附錄;有贊團隊的前端組件的API文檔;當然還有很多開源翻譯團體也在使用這項功能。此外,首個版本使用的主題是偏向簡約型的Next主題,如有更合適的主題或優化方案可以持續優化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章