注:博主 Chloneda:我的博客 | 博客園 | Github | Gitee | 知乎html
本文源連接:https://www.cnblogs.com/chloneda/p/hexo.htmlandroid
本文檔是Github + Hexo 的搭建我的博客教程,其中Hexo基於Hexo v3.8.0版本,themes主題基於爲NexT v7.0.0版本。git
搭建博客前置條件可參考 如何搭建我的獨立博客?github
我的博客地址: Chloneda's blogweb
在 Hexo 項目源碼目錄下,有兩個重要的配置文件,其名稱均爲 _config.yml 。 其中,一份位於站點根目錄下,主要包含 Hexo自己的配置;另外一份位於主題目錄下,主要用於主題相關的配置。爲了描述方便,在如下說明中,將前者稱爲站點配置文件, 後者稱爲主題配置文件。npm
cd hexo git clone https://github.com/theme-next/hexo-theme-next themes/next
修改站點配置文件,查找關鍵詞theme,並修改成主題名字next:json
# Extensions #(注意冒號間的空格) ## Plugins: https://hexo.io/plugins/ ## Themes: https://hexo.io/themes/ theme: next
在切換主題以後、驗證以前, 咱們最好使用 hexo clean 來清除 Hexo 的緩存。緩存
在Hexo主題中,有四種不一樣的模式!進入主題配置文件,搜索關鍵詞找到scheme屬性,選擇本身喜歡的模式:bash
# --------------------------------------------------------------- # Scheme Settings # --------------------------------------------------------------- # Schemes # scheme: Muse # 默認 Scheme,這是 NexT 最初的版本,黑白主調,大量留白 scheme: Mist # Muse 的緊湊版本,整潔有序的單欄外觀 # scheme: Pisces # 默認 Scheme,這是 NexT 最初的版本,黑白主調,大量留白 # scheme: Gemini # 相似 Pisces
編輯站點配置文件,搜索關鍵詞language,並設置成你所須要的語言:微信
language: zh-CN
進入主題配置文件,找到menu字段,菜單內容的設置格式是:item name: link || menu photo,其中item name 是一個名稱,link時具體菜單分類,菜單的||後面是菜單的圖標,具體菜單圖標可參考Font Awesome網站。
# 菜單示例配置 menu: home: / || home reading: /reading/ || book archives: /archives/ || archive categories: /categories/ || th #tags: /tags/ || tags about: /about/ || user
在主題配置文件,搜索字段avatar,值設置成頭像的連接地址。
# 將頭像放置主題目錄下的 source/uploads/ (新建uploads目錄若不存在) 配置爲: avatar: /uploads/avatar.png # 放置在 source/images/ 目錄下, 配置爲: avatar: /images/avatar.png # 完整的互聯網 URI avatar: url: http://example.com/avatar.png
在主題配置文件,搜索sidebar關鍵詞,設置爲hide模式,以下圖所示:
sidebar: #display: post // 默認顯示方式 #display: always // 一直顯示 display: hide // 初始隱藏 #display: remove // 移除側邊欄
各位可根據我的喜愛進行設置。
在站點配置文件中,搜索關鍵詞Site,以下:
# Site title: Chloneda #你的站點標題 subtitle: Less is more description: Less is more #你的站點描述 keywords: chloneda author: chloneda #站點做者
hexo根目錄下,執行如下命令,新建標籤頁面。
hexo new page tags
修改站點目錄source/tags的 index.md 文件:
--- title: 添加標籤頁面測試 tags: Test #添加標籤 categories: Test #添加分類 comments: false ---
修改主題配置文件,搜索關鍵詞menu,取消 #tags: /tags/ || tags註釋,內容以下:
# 菜單示例配置 menu: home: / || home reading: /reading/ || book archives: /archives/ || archive categories: /categories/ || th tags: /tags/ || tags about: /about/ || user
打開 hexo>theme>next>languages>zh-CN.yml 文件,在menu下添加tags: 標籤:
menu: home: 首頁 archives: 歸檔 categories: 分類 tags: 標籤 about: 關於 search: 搜索 schedule: 日程表 sitemap: 站點地圖 commonweal: 公益404 resources: 資源
注:添加其餘頁面也相似。
首頁顯示文章列表,列表裏的每一篇文章只顯示預覽,不顯示全文。
進入主題配置文件,搜索關鍵詞auto_excerpt,把enable對應的false改成true。
# Automatically Excerpt. Not recommand. # Please use <!-- more --> in the post to control excerpt accurately. auto_excerpt: enable: false length: 150
打開主題配置文件,搜索關鍵字 Blog rolls,添加本身須要的連接:
links: #鏈接 baidu: https://www.baidu.com/ google: https://www.google.com/
在Hexo的根目錄下執行如下命令。
$ npm install hexo-generator-searchdb --save
打開主題配置文件,搜索關鍵字local_search,將enable的值設置爲 true:
# Local search # Dependencies: https://github.com/theme-next/hexo-generator-searchdb local_search: enable: true
打開站點配置文件,搜索關鍵詞search,修改成以下內容:
# 本地搜索 search: path: search.xml field: post format: html limit: 10000
在Hexo根目錄執行安裝指令,安裝 hexo-generator-feed 插件:
npm install hexo-generator-feed --save
打開站點配置文件,追加feed信息:
# 設置RSS feed: type: rss2 path: rss2.html limit: 5 hub: content: 'true'
打開主題配置文件,找到rss,設置爲:
rss: /atom.xml
在主題配置文件中,找到social屬性,添加社交連接,步驟以下:
social: E-Mail: mailto:yourname@gmail.com || envelope Google: https://plus.google.com/yourname || google Twitter: https://twitter.com/yourname || twitter Facebook: https://www.facebook.com/yourname || facebook
格式爲: 社交平臺名稱:連接
首先須要改動的地方有:
在站點配置文件中,搜索highlight關鍵詞:
highlight: enable: true line_number: true auto_detect: true tab_replace:
文字自動檢測默認不啓動,改爲true使其起做用。
再到主題配置文件,搜索highlight_theme關鍵詞,修改代碼主題樣式:
# Code Highlight theme # Available values: normal | night | night eighties | night blue | night bright # https://github.com/chriskempson/tomorrow-theme highlight_theme: night
在主題配置文件中,搜索關鍵詞codeblock,將copy_button的enable值修改成true。
codeblock: # Manual define the border radius in codeblock # Leave it empty for the default 1 border_radius: # Add copy button on codeblock copy_button: enable: true
主題配置文件中,搜索關鍵詞busuanzi_count,設置文章閱讀次數統計及網站訪客量:
# Show Views/Visitors of the website/page with busuanzi. # Get more information on http://ibruce.info/2015/04/04/busuanzi busuanzi_count: enable: true total_visitors: true total_visitors_icon: user total_views: true total_views_icon: eye post_views: true post_views_icon: eye
每一個項目README.md文件能夠簡單說明這個項目的用途。在Hexo目錄下的 source 根目錄下添加一個 README.md 文件,修改站點配置文件,將 skip_render 參數的值設置爲:
skip_render: README.md
再次使用hexo d命令部署博客的時候就不會在渲染 README.md 這個文件。
自定義頭像可使用 比特蟲 網站製做!
在主題配置文件中,按如下修改:
favicon: small: /images/favicon-16x16-next.png #你的頭像名稱 medium: /images/favicon-32x32-next.png #你的頭像名稱 apple_touch_icon: /images/apple-touch-icon-next.png safari_pinned_tab: /images/logo.svg #android_manifest: /images/manifest.json #ms_browserconfig: /images/browserconfig.xml
設置菜單項的顯示中文文本,打開themes/next/languages/zh-CN.yml文件,搜索 menu 關鍵字,修改對應中文或者新增。
menu: home: 首頁 archives: 歸檔 categories: 分類 tags: 標籤 about: 關於 search: 搜索 # schedule: 日程表 # sitemap: 站點地圖 # commonweal: 公益404 # 新增menu links: 友鏈 # 新增該選項表示新增「友鏈」菜單
在主題配置文件,搜索menu,新增links: /links/ || link:
# 菜單示例配置 menu: home: / || home reading: /reading/ || book archives: /archives/ || archive categories: /categories/ || th #tags: /tags/ || tags about: /about/ || user links: /links/ || link
hexo根目錄下,執行如下命令,新建友鏈頁面。
hexo new page links
修改站點目錄下source/links的 index.md 文件:
--- title: 友鏈 tags: links categories: links comments: false ---
注:其它自定義菜單也是相似步驟
在本博客的側邊欄增長網易雲音樂,生成音樂外鏈可參考**連接** ,複製連接,將外鏈插入到Hexo根路徑的側邊欄文件中:/themes/next/layout/_macro/sidebar.swig,即側邊欄友情連接theme.links這一項以後。
{% if theme.links %} <div> <div class="links-of-blogroll-title"> ....省略部分代碼 </div> <ul class="links-of-blogroll-list"> ....省略部分代碼 </ul> </div> {% endif %} <div id="music163player"> <iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=330 height=86 src="//music.163.com/outchain/player?type=2&id=5239700&auto=0&height=66"> </iframe> </div>
現在已進入知識付費時代,打賞是讀者對筆者創造的最大支持,更是對勞動者的尊重。打賞功能具體步驟爲: 獲取二維碼
添加二維碼圖片資源 獲得二維碼圖片資源後,讀者們可將二維碼圖片放到**NexT根目錄/source/images/**文件夾下。
開啓打賞功能 打開主題配置文件,搜索reward關鍵詞,添加打賞的配置信息。
# Reward # If true, reward would be displayed in every article by default. # And you can show or hide one article specially through add page variable `reward: true/false`. reward: enable: true //默認是false,改成true comment: 您的支持是對我最大的鼓勵 wechatpay: /images/wechatpay.jpg #圖片連接或圖片相對路徑 alipay: /images/alipay.jpg #圖片連接或圖片相對路徑
打開主題配置文件,搜索關鍵字 creative_commons , post 改成 true:
creative_commons: license: by-nc-sa sidebar: false post: true
seo搜索引擎優化認爲,網站的最佳結構是三層,可是默認hexo編譯的站點打開文章的url是:sitename/year/mounth/day/title四層的結構,url不利於搜索引擎搜索。
所以,咱們能夠將url直接改爲sitename/blog/title的形式,同時title最好是用英文,在站點配置文件搜索permalink關鍵詞,並修改以下。
url: https://chloneda.github.io/ root: / permalink: /blog/:title.html permalink_defaults:
利用github分支功能進行博客備份,思路說明:
master分支部署 進入站點配置文件編輯,搜索deploy關鍵詞:
deploy: type: git repo: https://github.com/你的github用戶名/你的github用戶名.github.io.git branch: master
hexo分支配置
博客源碼更新 在本地對博客進行修改後,提交hexo源代碼:
git checkout hexo git add . git commit -m 'Code update' git push origin hexo
發佈hexo靜態文件 hexo根目錄依次執行如下命令:
hexo clean hexo generate 或者 hexo g hexo deploy 或者 hexo d
本地資料丟失或其餘主機搭建博客步驟:
Hexo修改後利用deploy.sh腳本一鍵部署,提升部署效率。
#!/bin/bash DIR=`dirname $0` # Generate blog hexo clean hexo generate sleep 5 # Deploy hexo deploy sleep 5 # Push hexo code git add . current_date=`date "+%Y-%m-%d %H:%M:%S"` git commit -m "Blog updated: $current_date" sleep 2 git push origin hexo echo "=====>Finish!<====="
把該腳本存放至 hexo根目錄中,並附加腳本執行權限:
chmod 775 deploy.sh
在hexo目錄根執行腳本:
./deploy.sh
可一鍵部署博客及備份博客源碼至github的分支hexoCode上。
更多提高NexT主題的方法請參考如下網頁。
本文采用Github + Hexo搭建的我的博客,在搭建過程優化總結,及時記錄,但願對各位有所幫助!本文若有錯誤,歡迎在 Github 的issue中提出,很是感謝!!!
更多詳情請參考: