主頁 > 企業開發 > 使用Hexo開源博客系統,輕松搭建你的個人博客(2)- 配置篇

使用Hexo開源博客系統,輕松搭建你的個人博客(2)- 配置篇

2020-09-25 05:46:08 企業開發

上一章節,我們介紹了Hexo的基礎搭建,搭建完大家一定發現,是英文版本的,并且頁面有點丑陋,這一章節,就來跟大家介紹Hexo的配置和主題的設定,

站點資訊

上一章有跟大家提到過_config.yml這個檔案,這個我們先稱之為站點全域的組態檔,后續我們說到主題的時候,也會有一個這樣的檔案,暫時稱它主題組態檔,
我們先來看一下全域組態檔主要有哪些內容:

# Site 站點主配置
title: Hexo  # 網站標題
subtitle:    # 網站副標題
description:   # 網站描述
keywords:      # 可以不填寫保持默認
author: John Doe  # 網站擁有者昵稱
language:    # 網站語言設定,一般根據依賴的主題而定
timezone:    # 網站時區設定,一般不填寫保持默認

# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url:   # 網站url設定
root:  # 網站根目錄鏈接
permalink: :year/:month/:title.html  # 文章鏈接,默認是按照 /年/月/日/文章標題 設定的鏈接
permalink_defaults:  # 默認鏈接形式
......
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme:  #主題

這些可根據需要設定,其余默認即可,git配置和站點地圖配置后續用到再介紹,
資訊配置完記得執行hexo g && hexo s,重繪瀏覽器查看效果,

安裝Next主題

主題大家可以在官網下載(https://hexo.io/themes)也可以到GitHub搜索,我推薦使用Next主題,該主題幾乎占領了Hexo博客的半壁江山,
Next主題下載地址:https://github.com/theme-next/hexo-theme-next.git
這邊介紹的版本是Next6,在Next6版本上其實增加了很多Next5需要手動配置的東西,并且Next5已經停止維護了,所以建議使用Next6版本,

下載Next主題

兩種方式:
1.使用git clone命令將Next倉庫克隆到hexo目錄下的themes/next,需要在根目錄下執行,命令為:git clone https://github.com/theme-next/hexo-theme-next.git themes/next
2.直接在Github頁面上選擇綠色的按鈕Clone or Download下載壓縮包,然后解壓到themes目錄下,名字可自行修改,

設定為Next主題

打開全域組態檔_config.yml,找到theme,設定如下:

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: hexo-theme-next   #此處填入你在themes目錄下的next主題目錄名

測驗Next主題

在Git Bash中執行如下命令:

hexo clean && hexo g && hexo s

命令執行完成后在瀏覽器中輸入http://localhost:4000即可查看安裝好的Next主題,

配置Next主題

在主題目錄下面,也有一個_config.yml的組態檔,我們就叫它主題組態檔,下面我們開始配置,

網站圖示設定

打開_config.yml,找到favicon的位置,如下所示:

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

將圖片放到你的next主題下面的source/images目錄下面,然后在主題組態檔中設定即可,

關閉底部由hexo強力驅動

在footer中,將powered和theme下的屬性全部設定為false

footer:
  ...
  powered:
    # Hexo link (Powered by Hexo).
    enable: false
    # Version info of Hexo after Hexo link (vX.X.X).
    version: false

  theme:
    # Theme & scheme info link (Theme - NexT.scheme).
    enable: false
    # Version info of NexT after scheme info (vX.X.X).
    version: false

選單欄設定

menu:
  home: / || home
  #about: /about/ || user
  tags: /tags/ || tags
  categories: /categories/ || th
  archives: /archives/ || archive
  #schedule: /schedule/ || calendar
  #sitemap: /sitemap.xml || sitemap
  #commonweal: /404/ || heartbeat

# Enable / Disable menu icons / item badges.
menu_settings:
  enable: true  #表示是否顯示選單圖示icons
  badges: false  # 顯示每個選單下面有多少個內容

||后面是fontawesome中的圖示名稱,如果想要修改圖示,可以去FontAwesome官網找自己喜歡的圖示樣式,

主題風格設定

# Schemes
#scheme: Muse
#scheme: Mist
#scheme: Pisces
scheme: Gemini

默認是Muse,我是使用Gemini,大家可以每個都試看看,看喜歡哪個,

社交鏈接設定

social:
  GitHub: https://github.com/codernice || github
  #E-Mail: mailto:[email protected] || envelope
  #Weibo: https://weibo.com/yourname || weibo
  #Google: https://plus.google.com/yourname || google
  #Twitter: https://twitter.com/yourname || twitter
  #FB Page: https://www.facebook.com/yourname || facebook
  #VK Group: https://vk.com/yourname || vk
  #StackOverflow: https://stackoverflow.com/yourname || stack-overflow
  #YouTube: https://youtube.com/yourname || youtube
  #Instagram: https://instagram.com/yourname || instagram
  #Skype: skype:yourname?call|chat || skype

yourname改成你自己在對應網站的ID,前面的#注釋去掉即可,

友情鏈接設定

# Blog rolls
links_icon: link
links_title: Links
links_layout: block
#links_layout: inline
links:
  #Title: http://example.com

#Title: http://example.com換成對于網站名稱和鏈接即可

開啟閱讀更多按鈕

auto_excerpt:
  enable: true
  length: 150

默認是false,首頁上會顯示整篇文章,設定為true開啟閱讀更多按鈕,

文章元資料設定

post_meta:
  item_text: true
  created_at: true
  updated_at:
    enable: false
    another_day: true
  categories: true

顯示在home頁的文章創建于、更新于、閱讀次數之類的資料

文章字數統計設定

# Post wordcount display settings
# Dependencies: https://github.com/theme-next/hexo-symbols-count-time
symbols_count_time:
  separated_meta: true
  item_text_post: true
  item_text_total: false
  awl: 4
  wpm: 275

該設定必須要添加hexo-symbols-count-time模塊依賴,在hexo站點根目錄下使用npm install hexo-symbols-count-time --save命令安裝模塊,

側邊欄頭像設定

# Sidebar Avatar
avatar:
  # In theme directory (source/images): /images/avatar.gif
  # In site directory (source/uploads): /uploads/avatar.gif
  # You can also use other linking images.
  url: 你的頭像地址
  # If true, the avatar would be dispalyed in circle.
  rounded: true # 設定頭像是否為圓形
  # The value of opacity should be choose from 0 to 1 to set the opacity of the avatar.
  opacity: 1 # 設定不透明度,1為完全不透明,0為完全透明
  # If true, the avatar would be rotated with the cursor.
  rotated: true # 設定滑鼠放到頭像上是否旋轉

代碼塊設定

codeblock:
  # Manual define the border radius in codeblock, leave it blank for the default value: 1
  border_radius: 7   # 按鈕圓滑度
  # Add copy button on codeblock
  copy_button:
    enable: true # 設定是否開啟代碼塊復制按鈕
    # Show text copy result
    show_result: true # 是否顯示復制成功資訊

開啟文章打賞按鈕

# Reward (Donate)
reward_settings:
  # If true, reward would be displayed in every article by default.
  # You can show or hide reward in a specific article throuth `reward: true | false` in Front Matter.
  enable: true #開啟打賞功能
  animation: false
  #comment: Donate comment here

reward:
  wechatpay: # 微信收款圖片地址
  alipay: # 支付寶收款圖片地址
  #bitcoin: /images/bitcoin.png

開啟相關文章推薦功能

related_posts:
  enable: true #開啟
  title: # custom header, leave empty to use the default one
  display_in_home: false #顯示在首頁
  params:
    maxCount: 5
    #PPMixingRate: 0.0
    #isDate: false
    #isImage: false
    #isExcerpt: false

需要安裝hexo-related-popular-posts模塊,在hexo站點根目錄下執行npm install hexo-related-popular-posts --save安裝模塊,

代碼塊風格設定

# Code Highlight theme
# Available values: normal | night | night eighties | night blue | night bright
# https://github.com/chriskempson/tomorrow-theme
highlight_theme: normal

有normal 、night 、 night eighties 、 night blue 、night bright這幾種風格,大家可以都試看看,

添加valine評論系統

# Valine
# You can get your appid and appkey from https://leancloud.cn
# More info available at https://valine.js.org
valine:
  enable: true # 開啟valine評論
  appid: # your leancloud application appid
  appkey: # your leancloud application appkey
  notify: false # mail notifier, See: https://github.com/xCss/Valine/wiki
  verify: false # Verification code
  placeholder:  # comment box placeholder
  avatar: monsterid # gravatar style
  guest_info: nick,mail,link # custom comment header
  pageSize: 10 # pagination size
  language: # language, available values: en, zh-cn
  visitor: false # leancloud-counter-security is not supported for now. When visitor is set to be true, appid and appkey are recommended to be the same as leancloud_visitors' for counter compatibility. Article reading statistic https://valine.js.org/visitor.html
  comment_count: true # if false, comment count will only be displayed in post page, not in home page

valine是第三方插件,需要到https://leancloud.cn注冊賬號,獲取到appid和appkey后放到這里即可,avatar是設定默認頭像,可以到https://valine.js.org/avatar選擇默認頭像,然后在這里設定名字即可,

開啟百度分享

# Baidu Share
# Available values: button | slide
# Warning: Baidu Share does not support https.
baidushare:
  type: button  # 設定分享按鈕的風格,有button何slide形式

開啟needmoreshare分享

needmoreshare2:
  enable: false
  postbottom:
    enable: false
    options:
      iconStyle: box
      boxForm: horizontal
      position: bottomCenter
      networks: Weibo,Wechat,Douban,QQZone,Twitter,Facebook
  float:
    enable: false
    options:
      iconStyle: box
      boxForm: horizontal
      position: middleRight
      networks: Weibo,Wechat,Douban,QQZone,Twitter,Facebook

needmoreshare2依賴theme-next-needmoreshare2模塊,要開啟的朋友可以到https://github.com/theme-next/theme-next-needmoreshare2 找到方法,

設定文章閱讀量

leancloud_visitors:
  enable: true
  app_id: 
  app_key: 
  # Dependencies: https://github.com/theme-next/hexo-leancloud-counter-security
  # If you don't care about security in leancloud counter and just want to use it directly
  # (without hexo-leancloud-counter-security plugin), set `security` to `false`.
  security: false
  betterPerformance: true

appid和appkey跟上面開啟valine評論使用的leanCloud是一樣的,如果發現文章閱讀量不顯示,可以到leanCloud后臺的存盤選單下,創建Class,命名為Counter.

開啟不蒜子統計功能

busuanzi_count:
  enable: true
  total_visitors: true #開啟總訪客(uv)
  total_visitors_icon: user
  total_views: true #開啟總訪問數(pv)
  total_views_icon: eye
  post_views: false
  post_views_icon: eye

這邊的post_views和上面的leanCloud_visitors沖突,兩者都是顯示文章閱讀量,只開啟一個就可以了,

開啟本地博客搜索功能

local_search:
  enable: false
  # If auto, trigger search by changing input.
  # If manual, trigger search by pressing enter key or search button.
  trigger: auto
  # Show top n results per article, show all results by setting to -1
  top_n_per_article: 1
  # Unescape html strings to the readable one.
  unescape: false

該功能依賴hexo-generator-searchdb插件,使用命令npm install hexo-generator-searchdb --save來進行安裝,然后在全域組態檔的末尾,加入以下代碼即可,

search:
  path: search.xml
  field: post
  format: html
  limit: 10000

總結

以上就是hexo博客常用的基本配置以及基于Next主題的一些設定,更多功能大家可在使用中逐摸索,歡迎討論交流,

需要安裝的模塊依賴

1.字數統計:npm install hexo-symbols-count-time --save
2.相關文章推薦:npm install hexo-related-popular-posts --save
3.本地博客搜索功能:npm install hexo-generator-searchdb --save,然后在全域組態檔末尾加入代碼

第三方插件

1.valine評論系統:需要到https://leancloud.cn注冊賬號,獲取到appid和appkey
2.文章閱讀量:同樣需要用到leancloud的appid和appkey

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/123486.html

標籤:Html/Css

上一篇:在vue專案中使用less

下一篇:在vue中使用[provide/inject]實作頁面reload

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • IEEE1588PTP在數字化變電站時鐘同步方面的應用

    IEEE1588ptp在數字化變電站時鐘同步方面的應用 京準電子科技官微——ahjzsz 一、電力系統時間同步基本概況 隨著對IEC 61850標準研究的不斷深入,國內外學者提出基于IEC61850通信標準體系建設數字化變電站的發展思路。數字化變電站與常規變電站的顯著區別在于程序層傳統的電流/電壓互 ......

    uj5u.com 2020-09-10 03:51:52 more
  • HTTP request smuggling CL.TE

    CL.TE 簡介 前端通過Content-Length處理請求,通過反向代理或者負載均衡將請求轉發到后端,后端Transfer-Encoding優先級較高,以TE處理請求造成安全問題。 檢測 發送如下資料包 POST / HTTP/1.1 Host: ac391f7e1e9af821806e890 ......

    uj5u.com 2020-09-10 03:52:11 more
  • 網路滲透資料大全單——漏洞庫篇

    網路滲透資料大全單——漏洞庫篇漏洞庫 NVD ——美國國家漏洞庫 →http://nvd.nist.gov/。 CERT ——美國國家應急回應中心 →https://www.us-cert.gov/ OSVDB ——開源漏洞庫 →http://osvdb.org Bugtraq ——賽門鐵克 →ht ......

    uj5u.com 2020-09-10 03:52:15 more
  • 京準講述NTP時鐘服務器應用及原理

    京準講述NTP時鐘服務器應用及原理京準講述NTP時鐘服務器應用及原理 安徽京準電子科技官微——ahjzsz 北斗授時原理 授時是指接識訓通過某種方式獲得本地時間與北斗標準時間的鐘差,然后調整本地時鐘使時差控制在一定的精度范圍內。 衛星導航系統通常由三部分組成:導航授時衛星、地面檢測校正維護系統和用戶 ......

    uj5u.com 2020-09-10 03:52:25 more
  • 利用北斗衛星系統設計NTP網路時間服務器

    利用北斗衛星系統設計NTP網路時間服務器 利用北斗衛星系統設計NTP網路時間服務器 安徽京準電子科技官微——ahjzsz 概述 NTP網路時間服務器是一款支持NTP和SNTP網路時間同步協議,高精度、大容量、高品質的高科技時鐘產品。 NTP網路時間服務器設備采用冗余架構設計,高精度時鐘直接來源于北斗 ......

    uj5u.com 2020-09-10 03:52:35 more
  • 詳細解讀電力系統各種對時方式

    詳細解讀電力系統各種對時方式 詳細解讀電力系統各種對時方式 安徽京準電子科技官微——ahjzsz,更多資料請添加VX 衛星同步時鐘是我京準公司開發研制的應用衛星授時時技術的標準時間顯示和發送的裝置,該裝置以M國全球定位系統(GLOBAL POSITIONING SYSTEM,縮寫為GPS)或者我國北 ......

    uj5u.com 2020-09-10 03:52:45 more
  • 如何保證外包團隊接入企業內網安全

    不管企業規模的大小,只要企業想省錢,那么企業的某些服務就一定會采用外包的形式,然而看似美好又經濟的策略,其實也有不好的一面。下面我通過安全的角度來聊聊使用外包團的安全隱患問題。 先看看什么服務會使用外包的,最常見的就是話務/客服這種需要大量重復性、無技術性的服務,或者是一些銷售外包、特殊的職能外包等 ......

    uj5u.com 2020-09-10 03:52:57 more
  • PHP漏洞之【整型數字型SQL注入】

    0x01 什么是SQL注入 SQL是一種注入攻擊,通過前端帶入后端資料庫進行惡意的SQL陳述句查詢。 0x02 SQL整型注入原理 SQL注入一般發生在動態網站URL地址里,當然也會發生在其它地發,如登錄框等等也會存在注入,只要是和資料庫打交道的地方都有可能存在。 如這里http://192.168. ......

    uj5u.com 2020-09-10 03:55:40 more
  • [GXYCTF2019]禁止套娃

    git泄露獲取原始碼 使用GET傳參,引數為exp 經過三層過濾執行 第一層過濾偽協議,第二層過濾帶引數的函式,第三層過濾一些函式 preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'] (?R)參考當前正則運算式,相當于匹配函式里的引數 因此傳遞 ......

    uj5u.com 2020-09-10 03:56:07 more
  • 等保2.0實施流程

    流程 結論 ......

    uj5u.com 2020-09-10 03:56:16 more
最新发布
  • 使用Django Rest framework搭建Blog

    在前面的Blog例子中我們使用的是GraphQL, 雖然GraphQL的使用處于上升趨勢,但是Rest API還是使用的更廣泛一些. 所以還是決定回到傳統的rest api framework上來, Django rest framework的官網上給了一個很好用的QuickStart, 我參考Qu ......

    uj5u.com 2023-04-20 08:17:54 more
  • 記錄-new Date() 我忍你很久了!

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 大家平時在開發的時候有沒被new Date()折磨過?就是它的諸多怪異的設定讓你每每用的時候,都可能不小心踩坑。造成程式意外出錯,卻一下子找不到問題出處,那叫一個煩透了…… 下面,我就列舉它的“四宗罪”及應用思考 可惡的四宗罪 1. Sa ......

    uj5u.com 2023-04-20 08:17:47 more
  • 使用Vue.js實作文字跑馬燈效果

    實作文字跑馬燈效果,首先用到 substring()截取 和 setInterval計時器 clearInterval()清除計時器 效果如下: 實作代碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta ......

    uj5u.com 2023-04-20 08:12:31 more
  • JavaScript 運算子

    JavaScript 運算子/運算子 在 JavaScript 中,有一些運算子可以使代碼更簡潔、易讀和高效。以下是一些常見的運算子: 1、可選鏈運算子(optional chaining operator) ?.是可選鏈運算子(optional chaining operator)。?. 可選鏈操 ......

    uj5u.com 2023-04-20 08:02:25 more
  • CSS—相對單位rem

    一、概述 rem是一個相對長度單位,它的單位長度取決于根標簽html的字體尺寸。rem即root em的意思,中文翻譯為根em。瀏覽器的文本尺寸一般默認為16px,即默認情況下: 1rem = 16px rem布局原理:根據CSS媒體查詢功能,更改根標簽的字體尺寸,實作rem單位隨螢屏尺寸的變化,如 ......

    uj5u.com 2023-04-20 08:02:21 more
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 08:01:50 more
  • 如何在 vue3 中使用 jsx/tsx?

    我們都知道,通常情況下我們使用 vue 大多都是用的 SFC(Signle File Component)單檔案組件模式,即一個組件就是一個檔案,但其實 Vue 也是支持使用 JSX 來撰寫組件的。這里不討論 SFC 和 JSX 的好壞,這個仁者見仁智者見智。本篇文章旨在帶領大家快速了解和使用 Vu ......

    uj5u.com 2023-04-20 08:01:37 more
  • 【Vue2.x原始碼系列06】計算屬性computed原理

    本章目標:計算屬性是如何實作的?計算屬性快取原理以及洋蔥模型的應用?在初始化Vue實體時,我們會給每個計算屬性都創建一個對應watcher,我們稱之為計算屬性watcher ......

    uj5u.com 2023-04-20 08:01:31 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:01:10 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:00:32 more