從Wordpress遷移至Hugo以及不信關

2018-11-08 约 3026 字 预计阅读 7 分钟

好幾天沒有更新了。不是偷懶,是因為找到一個新玩意:-)
前幾天覺得Wordpress的Elegant模板太過冗餘,css設置起來很多衝突。
打算找一個單純支持W3.css的Wordpress模板。
用Google搜索"w3 css wordpress themes"沒找到什麼Wordpress,結果找到一個Hugo的W3 basic模板。
Hugo是啥玩意?初到新西蘭,在Boss的男裝店做過幾年店小二,可是知道Hugo Boss是一款知名西裝啊。
點開看看了,學習了一下:

Hugo is a static site generator written in Go. Hugo is developed by Bjørn Erik Pedersen, Steve Francia, and other contributors. Hugo is an open source project licensed under the Apache License 2.0.[2]

Go語言又是啥,完全不知道。
維基百科

Go(又稱Golang[3])是Google開發的一種靜態強類型編譯型並發型,並具有垃圾回收功能編程語言

幾個形容詞全不懂,不過看到是金主Google開發的,那需要關注。

總而言之,搜了一圈,都說Go語言很好,性能超過Python、PHP幾條街。
反正我Python和PHP這兩門語言也是小學生水平,要改換門庭也很容易。
想起高中時有個同學在演講課上說過這麼一句話:

白紙好作畫

故此打算學習一下Go語言。
學習新東西從博客入手最好,經常更新,會經常有新想法新問題冒出來,在解決問題的過程中學習效果最佳。
故此研究了一下如何從Wordpress遷移到Hugo。
本來是很簡單的操作,因為是中文博客的原因,中途增加了一些定製工作量。現在將步驟梳理於此供大家參考。

安裝Hugo

Hugo支持多操作係統。Windows、MAC OS也可以安裝,本人用的是Ubuntu,故此命令都是linux的。 到Hugo Releases下載最新版本。 寫作本文時是0.51版

wget https://github.com/gohugoio/hugo/releases/download/v0.51/hugo_0.51_Linux-64bit.deb
然後安裝
sudo dpkg -i hugo*.deb
運行一下hugo檢測版本
hugo version

安裝git

以前因為自己玩代碼,沒有團隊合作意識,沒仔細用過git。 這兩天用git感覺真是好用,大大提高工作效率,而且也更有樂趣

Make the web fun again

sudo apt-get update
sudo apt-get install git
過一陣子,再寫一個用git快速更新網站的帖子。

建立第一個Hugo站並安裝模板

hugo new site命令就可以在指定目錄建立新站,我是建立了一個開發者環境目錄

hugo new site ~/dev.jesselau.com
安裝模板,可以到hugo themes挑選模板,我這裏用自己開發的w3-simple模板為例
cd ~/dev.jesselau.com/themes
git clone https://github.com/jesselau76/hugo-w3-simple
需要配置一下config.toml文件,可以按照下列例子參考:

config.toml

baseurl = "/" languageCode = "en-us"
title = "Jesse Lau Blog"
theme = "hugo-w3-simple"
disqusShortname = "" # disqus_shortname
googleAnalytics = "" # UA-XXXXXXXX-X
[[menu.main]]
name = "About"
url = "/about/"
weight = 2
[[menu.main]]
name = "Categories"
url = "/categories/"
weight = 3
[[menu.main]]
name = "Tags"
url = "/tags/"
weight = 4
[params]
relatedPosts = true
socialshare = true
description = "Jesse Lau Blog"
onesignalid = "" #one signal push app id
logotext = "JESSE LAU BLOG" # logo text
footer = "© [Jesse Lau](https://jesselau.com) 2018 | [Github](https://github.com/jesselau76) | [Twitter](https://twitter.com/jesselau2) | [RSS](/index.xml)"
好了,hugo site就配置好了,直接可以運行
hugo server
瀏覽器訪問localhost:1313就能看到站點

將Wordpress帖子移植到Hugo

上文操作結束,還沒有任何內容。需要很方便的工具將以前在Wordpress碼的帖子弄到Hugo站。
Hugo官方推薦了兩個Wordpress插件,我用了完全無反應。但有的博主說可以,你們可以試試看。
我使用的是exitwp-for-hugo,是用Python編的。
先到Wordpress的tools-Export將發布的帖子導出到一個xml文件。
這個腳本成功將帖子轉化成markdown文件,然後拷貝到~/dev.jesselau.com/content/posts/目錄下。
瀏覽器訪問localhost:1313,帖子都有了。隨意點擊幾個,都是404錯誤。
因為以前Wordpress是用的中文鏈接,通過數據庫轉鏈,字符可以隨意用標點符號等,然而Hugo是建立的靜態網頁,建立了文件夾,這樣文件名有很多限製,不能采用很多字符。
這樣,我隻能修改一下exitwp的python源文件。加了這麼一個函數

def remove_period(x):
#cut words and delete punctuation
punc = "!?。"#$%&'()*+,-/:;<=>@[\]^_`{|}~⦅⦆「」、、〃》「」『』【】〔〕〖〗〘〙〚〛〜〝〞〟〰〾〿–—‘’‛“”„‟…‧﹏."
punc = punc.decode("utf-8")
string = re.sub(ur"[%s]+" %punc, "", x.decode("utf-8"))
return string
這個函數就把怪異字符統統刪除。
我給這個項目建立了一個git分支,修改版在此處,如果有興趣可以看看。

修改錯誤鏈接

因為上述操作,以前的帖子內互鏈就有不少404錯誤了。
找到一個工具,可以將錯誤鏈接都找出來。
然後用Sublime Text或者Notepad++的多文件查找替換功能修改錯誤鏈接即可。

網速大幅提高

少了PHP+數據庫處理時間,網頁速度真是大有改善。 測試了一下我最長的帖子之一
同樣網頁Wordpress版本
wordpress網頁加載時間 7.450s Hugo產生的靜態網頁 hugo加載時間隻有 1.962s Wordpress版本的網頁有2,516kb,而Hugo版隻有759kb。
當然跟我目前的排版屬於簡潔模式有關係。但也說明了Wordpress的冗餘代碼太多。
另外
7.450-2516/759*1.962=0.95 就是說即使不考慮文件大小的縮小,通過數據庫的時間也大概有0.95秒左右,靜態網頁大幅提高網頁速度是毋庸置疑的。

第一次用Markdown編輯器寫作,感覺比Wordpress的更好用。


今天再細讀一下通關文之不信關

道德經曰:上士聞道,勤而行之;中士聞道,若存若亡;下士聞道,大笑之。
金剛經曰:善男子、善女人,發阿耨多羅三藐三菩提心,應如是住,如是降伏其心。阿耨多羅三藐三菩提心,即華言無上正等正覺心,乃信心也。
易曰:中孚豚魚,吉。
中庸曰:誠者物之終始,不誠無物。
是故君子誠之為貴。
三教聖人垂訓,皆以誠信為修道之本也。
夫信者,非言語之信,非信息之信,乃真心實意之信。
信之一字,其理最真,其力最大。
能以感天地,通神明,轉生殺,扭生死,為聖為賢,作佛作仙,為修道者第一至寶。
學者認定此一字,緊抱心胸,須臾不離,則大本已立,不動不搖,不更不變。
從此進步,可以聞道,可以行道;可以了性,可以了命。
古來仙真,那個不從信中著腳,那個不從信中成道?
但信不是懸虛妄想,不是打夥講譚,乃是一心在道,別無二意,念茲在茲,朝斯夕斯,時刻不忘之義。
非視性命為一大事者不能信;非視天下如敝蹝者不能信;非富貴不能淫,貧賤不能移,威武不能屈者不能信,非俯視一切,萬有皆空者不能信;非至死不變,吉凶患難置於度外者不能信。
若方寸之中稍有一毫疑慮,稍有一些懈怠,俱不為之信。
可知真信是誠一不二,與日俱進,與時偕行之功。
能如此者,日有所進;若反此者,枉度歲月。
但信又要辨其是非,分其邪正。
世間有誤入旁門外道,持守終身,固執不化,至死不變者,何嚐不是信?
然信之非正,反為信害。
故學道者貴乎信,尤貴乎信得其正,方是真信於道矣。
世間糊塗學人,信道不篤。
一日十二時中,萬起萬滅,任其群魔反亂,未嚐一刻把道放在心上。
或無事之時,忽然想起翻弄書卷,未曾玩味,卻又想起別事,被鬼怪將心扯去。
亦有學人,一時整頓剛氣,勇猛精進,辨別理義,尋師訪友,久而不遇,便生怠心。
或有稍聞些子香風,不見速效,便生疑惑,逡巡不前;或有入於歧路,造作成病,不悔自錯,反以丹經為虛妄。
如此等類,不可枚舉。
不能信道,焉能知道。
吾勸真心學道者,速將不信關口打通。
認定性命,一概邪心邪事掃去,另立起個金剛誌氣,實實落落向前,不管他得力不得力,學成學不成,至死方休。
暗中自有鬼神扶持,終有好事。
否則,今日作此,明日作彼,忽然而前,忽然而後,或信或疑,主宰不定,妄想明道,難矣。

此關講到一心在道,別無二意,念茲在茲,朝斯夕斯,時刻不忘,也即是《一代宗師》裏常講的:

念念不忘,必有回響

正信不是懸虛妄想,乃是需要一步步行去,自然而然會有好事。
正信與邪信之區別就在於這個“行”。

寧可一思進
莫在一思停


author

Jesse Lau

網名遁去的一,簡稱遁一。2012年定居新西蘭至今,自由職業者。
本文采用知識共享署名 4.0 國際許可協議進行許可。簡而言之,可隨意轉發轉載,轉載請注明出處。


留点评论吧: