Hexo搭建博客

原博客搬遷 https://garsonlab.github.io

本來一直使用CSDN的博客記錄一些本身的東西,可是前段時間登陸發現一直須要我真實身份驗證,抱着支持國家政策的態度我屈服了... 可是最近,後來爲何又出來一個必須掃描公衆號二維碼關注再完成手機驗證。只想說你推廣也就算了爲毛還要強制!表示不服!
爲了專治「不服」,我決定使用萬能Github自行搭建博客,考慮了 Jekyll,看了比人的一堆分析之後最終選擇了 Hexo,因爲個人web前端只停留在html+css階段故表示不懂他們底下的大區別,可是使用了之後只以爲 hexo很麻煩... 由於jekyll是github自動生成pages,hexo須要本身genegrate+deploy,我不知道這是否是表明我每次上傳都必須有nodejs的環境,也不知道jekyll是否是這樣...css

最終,我仍是選擇了hexo,由於我看用到了 Material 的模板0.0html

安裝hexo

安裝步驟很簡單,一路文檔操做:鏈接
安裝 Hexo 至關簡單。然而在安裝前,您必須檢查電腦中是否已安裝下列應用程序:前端

Node.js
Git

若是您的電腦中已經安裝上述必備程序,那麼恭喜您!接下來只須要使用 npm 便可完成 Hexo 的安裝。node

$ npm install -g hexo-cli

使用Material主題

創建一個空的站點

選擇一個心儀的文件夾,在這次cmdios

$ hexo init MyBlog #MyBlog是我要放置博客文件的文件夾
$ cd MyBlog
$ npm install

完成之後對應的目錄git

.
├── _config.yml
├── package.json
├── scaffolds
├── source
|   ├── _drafts
|   └── _posts
└── themes

安裝完成,在themes文件夾中已存在一個模板,因爲它不是咱們須要的模板,so把裏面的文件刪除乾淨,而後在裏面用git或者直接down一份Material 的代碼。解壓完成。github

修改基本配置

先修改主文件夾的 *_config.yml* 文件,具體含義參考配置, 主要的是修改web

language: zh-CN

把語言設置成中文npm

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: material

主題設置成materialjson

打開material文件夾
複製一份 *_config.template.yml* 命名成 *_config.yml*
裏面的具體參數修改參考這裏

照作基本都能成

添加本地搜索

使用本地搜索須要安裝 hexo-generator-search 插件。
在修改的 *_config.yml* 中
把 search: use 的值爲 google 改成 local 便可。
而後在原 *_config.yml* 中添加

search:
    path: search.xml
    field: all

添加標籤雲、照片牆、時間線

參考這裏

惟一須要說的就是須要在修改的 *_config.yml* 中仿照about界面添加對應標籤

# Sidebar Customize
sidebar:
    pages:
        tags: #make sure the value corresponds to another one in language file
            link: "/tags"
            icon: label
            divider: false
        gallery:
            link: "/gallery"
            icon: photo
            divider: false
        about:
            link: "/about"
            icon: person
            divider: false
        timeline:
            link: "/timeline"
            icon: timeline
            divider: false
        links:
            link: "/links"
            icon: link
            divider: false

修改多語言文件 zh_CN.yaml
sidebar:
homepage: "主頁"
archive: "歸檔"
article_num: "文章總數"
about: "關於我"
gallery: "圖庫"
links: "友情連接"
tags: "標籤雲" #this object name is mentioned above
timeline: "時間軸"

其餘微調

按照配置與本身心意隨意更改,只要你喜歡,改代碼也是能夠的

遇坑

自定義Pages的多語言

咱們添加了添加標籤雲、照片牆、時間線,同時,在zh_CN.yaml中配置了對應的中文,可是就是不顯示
可修改代碼 *layout/_partial/sidebar-navigation.ejs* 中的這一段

<% if(theme.sidebar.pages[i].icon){ %>
    <i class="material-icons sidebar-material-icons"><%= theme.sidebar.pages[i].icon %></i>
<% } %>
<%= i %>
</a>
</li>
<% if(theme.sidebar.pages[i].divider === true) { %>


把 <%= i %> 替換成 <%= __('sidebar.' + i) %>

同理,主界面有一個分頁導航也是如此。

同步到github時Error

同步到github後,隨後收到github的郵件, 說 You are attempting to use a Jekyll theme, "material", which is not supported by GitHub Pages.

這是因爲hexo的深坑必須得本身手動發佈纔有效。
安裝 deployer 可解決

具體方法是 https://hexo.io/zh-cn/docs/deployment.html

其餘問題

1,關注主題的Issue
2,博客hexo 博客的神坑及本質緣由 3,度娘 4,谷歌 5,自行分析

相關文章
相關標籤/搜索