Ghost配置2——添加代碼高亮

使用Ghost的初體驗,主題外觀都很滿意,除了代碼段的顯示效果。

沒有代碼高亮,這效果怎麼說呢?就像是使用了文本編輯器在寫代碼,說不上離經叛道,但就是從心底覺得一個字:土。
圖片描述

用Ghost加高亮做關鍵字,能搜出一大堆的代碼高亮方案。不過在Ghost版本2.0以後,再去修改代碼來載入js和css文件已經沒有必要。因爲Ghost有了新的功能:代碼注入(Code Injection)。

對於Ghost的所有頁面,都使用了default.hbt作爲了基礎模板文件。在模板的header和body末尾,都可以注入用戶自定義的代碼。

加入highlight.js

目前第三方高亮模塊,主要以highlight.js和prism.js爲主,二者沒有太大的區別。我選擇了應用更廣泛的highlight.js。
圖片描述

highlight.js主要有兩部分組成,一部分是引用的CSS文件,一部分是JS文件。進入Ghost管理後臺,點擊code injection菜單,分別將二者寫入即可。
圖片描述

在Blog Header中,填入:

<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/monokai.min.css" rel="stylesheet">

在Blog Footer中,填入:

<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> 
<script >hljs.initHighlightingOnLoad();</script>

注意,我這裏選擇了monokai的高亮風格,也可以根據實際需要,選擇自己的樣式風格。具體樣式,可以參考這裏。

讓高亮生效

加入highlight.js後,並沒有讓高亮效果馬上生效。Ghost的編輯器在輸入代碼段之前,需要輸入三個符號,然後自動彈出一個代碼段輸入的卡片。而highlight例子中,需要輸入三個並指定語言名稱纔會有高亮效果。如:

#```html  // 這裏實際沒有#
<html>
    ...
</html>

問題是,用現在的編輯器在我輸三個`的時候就會自動彈出代碼段輸入卡片,根本不給我寫語言名稱的機會吶。

被這個問題困擾了半天,突然一想:編輯器不是自帶插入markdown片段的功能嗎?於是試了一試,問題便迎刃而解了。

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