新聞中心
原由

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括通許網(wǎng)站建設(shè)、通許網(wǎng)站制作、通許網(wǎng)頁(yè)制作以及通許網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,通許網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到通許省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
自從新博客建立以來(lái)一直用 Octopress 這個(gè)博客框架來(lái)搭建靜態(tài)文章頁(yè)面。漂亮的默認(rèn)主題、方便的發(fā)布到 github page 等功能吸引了我
但就在最近因?yàn)榧依锏挠?Macbook,剛好升級(jí)到了新版的 Sierria,杯具的是之前安裝的 Octopress bundle 都失效了。調(diào)試了很久還沒(méi)把環(huán)境搭建好,再加上之前發(fā)現(xiàn) Octopress 的 Markdown 解析器老報(bào)錯(cuò),于是就決定要更換一個(gè)配置安裝簡(jiǎn)單點(diǎn)的博客生成器了
在參考了這個(gè)網(wǎng)站上的各種生成器后 staticgen,果斷選擇了 Hugo。沒(méi)有什么特殊原因,下載安裝試用一下就明白了。Hugo 由于是 Go 語(yǔ)言寫的,所以你只需要下載好官方給的二進(jìn)制可執(zhí)行文件就可以了,再也不用安裝各種依賴,然后各種換源什么的亂折騰了。這一點(diǎn)就足以讓我轉(zhuǎn)入 Hugo
主題
由于自己還是比較喜歡 Octopress 默認(rèn)的這套主題,所以在讀過(guò) Hugo 開(kāi)發(fā)文檔后,在嚴(yán)格尊重原主題的原則下修改了部分增強(qiáng)樣式,制做了一個(gè)適配 Hugo 的 Octopress 主題。雖然 Hugo 官方有一個(gè)適配 Octopress 的主題 hugo-octopress 但是對(duì)原主題改動(dòng)太多,我并不喜歡。
遷移
文章
Octopress 使用的文章描述頭是 yaml 格式的,需要轉(zhuǎn)換成 Hugo 的 toml,自己手動(dòng)寫了個(gè) NodeJS 腳本 來(lái)完成這個(gè)工作,基本上很輕松就完成了。注意:建議放在 content/archives 目錄下面,這樣的話原來(lái)的文件目錄和新的就是一致的了
再吐槽下 md 文件名,Octopress 默認(rèn)是生成時(shí)間為前綴的,如:2016-06-13-name.markdown。 如果轉(zhuǎn)移到 Hugo ***鏈接還要保持原來(lái)文件名格式的話就得把這個(gè)前綴干掉(name.md),這樣的話排序就亂了。在各種編輯器、文件夾中不按創(chuàng)建順序排序,看起來(lái)很別扭也不方便。
文章鏈接
考慮到之間已經(jīng)寫過(guò)很多文章了,搜索引擎都已收錄,所以要保持原來(lái)的文章鏈接格式不變。在 Hugo 配置文件里面加上這段,使用文件名做文章***鏈接:
- [permalinks]
- archives = "/:year/:month/:day/:filename/"
存檔
Octopress 默認(rèn)的存檔地址是 archives,這個(gè)我們可以直接在 Hugo 博客目錄 content 里面新建一個(gè)目錄名為 archives 就可以了,以后新建文章都以這個(gè) Section 為準(zhǔn):
- hugo new archives/your-post-name.md
RSS
Octopress 默認(rèn)的是 atom.xml,然而 Hugo 中默認(rèn)的是 index.xml。不過(guò)我們可以在 Hugo 中做個(gè)配置,和之間保持一致:
- RSSUri = "atom.xml"
然而實(shí)際測(cè)試的時(shí)候在模板里面調(diào)用 {{ .RSSlink }} 始終都返回 index.xml。手動(dòng)把模板里面的 RSS 鏈接改成 {{ .Site.BaseURL }}atom.xml 居然能生效?!這估計(jì)是 Hugo 的一個(gè) bug。好在被發(fā)現(xiàn)了,要不然新老訂閱 RSS 地址不一樣事情就比較麻煩了。
分頁(yè)
Octopress 默認(rèn)的格式是 posts/2,Hugo 中是 posts/2 同樣需要加個(gè)配置:
- paginatePath = "posts"
Hugo 的幾個(gè)基本概念
這幾個(gè)概念主要在修改主題的時(shí)候能用到
Front Matter
類似 markdown 文件的配置描述,用來(lái)配置文章的標(biāo)題、時(shí)間、鏈接、分類等元信息,提供給模板調(diào)用
- +++
- title = "post title"
- description = "description."
- date = "2012-04-06"
- tags = [ ".vimrc", "plugins", "spf13-vim", "vim" ]
- categories = [
- "cat1",
- "cat2"
- ]
- +++
Sections
在 content 下面的一級(jí)目錄,通常有分類的概念,但只是文件夾維度的物理隔離
Types
如果沒(méi)有為文章指定 type 配置,文章默認(rèn)就屬于當(dāng)前屬的 Section,type 可以在 Front Matter 中指定,而 Section 不可以
Archetype
新建文章時(shí)候的默認(rèn)模板,會(huì)帶有指定的 Front Matter 頭
Taxonomy
分類、標(biāo)簽、系列這種描述文章屬性的都屬于 Taxonomy Terms
總結(jié)
Hugo 確實(shí)是一個(gè)不錯(cuò)的博客框架,配置簡(jiǎn)單、功能強(qiáng)大,很多東西都以「慣例」默認(rèn)提供了,比如內(nèi)置 TableOfContents,用來(lái)寫博客足亦。
不過(guò)由于是 Go 語(yǔ)言寫的,很多人并不知道有這么好用的一個(gè)東西,所以社區(qū)并不是很好。這可能就是所謂的編程的幫派論吧!
【本文是專欄作者周琪力的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)注明出處】
戳這里,看該作者更多好文
標(biāo)題名稱:平滑遷移Octopress到Hugo
URL地址:http://www.dlmjj.cn/article/cdopsec.html


咨詢
建站咨詢
