1. 程式人生 > >簡潔輕便的部落格平臺: Hexo詳解

簡潔輕便的部落格平臺: Hexo詳解

什麼是Hexo

Hexo 是一個簡單地、輕量地、基於Node的一個靜態部落格框架,可以方便的生成靜態網頁託管在github和Heroku上,引用Hexo作者 @tommy351 的話:

快速、簡單且功能強大的 Node.js 部落格框架。
A fast, simple & powerful blog framework, powered by Node.js.

GitHub Pages是什麼?

GitHub Pages 可以被認為是使用者編寫的、託管在github上的靜態網頁。由於它的空間免費穩定, 可以用於介紹託管在github上的Project或者搭建網站。有兩種形式: Project Site 和 User/Org Site,二者之間的差異可以戳

GitHub Pages。基於 GP 建立Site是很方便的,這有一個簡單的教程: 學習 Github Page 教你分分鐘搭建自己的部落格

gp 生成的網站的預設域名是 username.github.io 或者 username.github.io/project-name,但gp是支援自定義域名的:Custom Domain Name。購買域名之後,可以和預設的二級域名進行繫結,教程參考:購買域名、設定DNS

Hexo 的安裝

由於 Hexo 是基於 Node,安裝前要先安裝 Node。我的系統環境:

安裝Hexo,要用全域性安裝,加-g引數。:

npm install
-g hexo

檢視版本:

檢視命令幫助:

1、help: 檢視幫助資訊
2、init [資料夾名]: 建立一個hexo專案,不指定資料夾名,則在當前目錄建立
3、version: 檢視hexo的版本
4、--config config-path:指定配置檔案,代替預設的_config.yml
5、--cwd cwd-path:自定義當前工作目錄
5、--debug:除錯模式,輸出所有日誌資訊
6、--safe:安全模式,禁用所有的外掛和指令碼
7、--silent:無日誌輸出模式

安裝好後,我們就可以使用Hexo建立專案了。

按照提示,切換到hexo-demo目錄,執行 npm install

安裝依賴,並啟動Hexo伺服器:

hexo server
//the same as
//hexo s

Hexo的預設介面,Hexo2.4+後採用的預設主題是 Landscape

Hexo的配置

目錄和檔案

1、scaffolds:模板資料夾,新建文章時,Hexo 會根據 scaffold 來建立檔案。Hexo 有三種預設佈局:postpagedraft,它們分別對應不同的路徑。新建檔案的預設佈局是post,可以在配置檔案中更改佈局。用draft佈局生成的檔案會被儲存到 source/_drafts 資料夾。
2、source:資原始檔夾是存放使用者資源的地方。
3、source/_post:檔案箱。(低版本的hexo還會存在一個_draft,這是草稿箱)除 posts 資料夾之外,開頭命名為 (下劃線)的檔案/ 資料夾和隱藏的檔案將會被忽略。Markdown 和 HTML 檔案會被解析並放到 public 資料夾,而其他檔案會被拷貝過去
4、themes:主題 資料夾。Hexo 會根據主題來生成靜態頁面。
5、themes/landscape:預設的面板資料夾
6、_config.yml:全域性的配置檔案,每次更改要重啟服務。

低版本的Hexo還會生成scripts資料夾,裡面用於儲存擴充套件Hexo的指令碼檔案。

全域性配置

可以在_config.yml 中修改:

# Hexo Configuration
## Docs: http://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/

# Site 站點配置
title: Hexo-demo  #網站標題
subtitle: hexo is simple and easy to study   #網站副標題
description: this is hexo-demo #網棧描述
author: pomy #你的名字
language:  zh-CN #網站使用的語言
timezone: Asia/Shanghai  #網站時區

# URL #可以不用配置
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://yoursite.com #網址,搜尋時會在搜尋引擎中顯示
root: /  #網站根目錄
permalink: :year/:month/:day/:title/ #永久連結格式
permalink_defaults: #永久連結中各部分的預設值

# Directory 目錄配置
source_dir: source #資原始檔夾,這個資料夾用來存放內容
public_dir: public #公共資料夾,這個資料夾用於存放生成的站點檔案
tag_dir: tags #標籤資料夾
archive_dir: archives #歸檔資料夾
category_dir: categories #分類資料夾
code_dir: downloads/code #Include code 資料夾
i18n_dir: :lang   #國際化資料夾
skip_render:      #跳過指定檔案的渲染,您可使用 glob 來配置路徑

# Writing 寫作配置
new_post_name: :title.md # 新文章的檔名稱
default_layout: post   #預設佈局
titlecase: false # Transform title into titlecase
external_link: true # Open external links in new tab
filename_case: 0 #把檔名稱轉換為 (1) 小寫或 (2) 大寫
render_drafts: false #顯示草稿
post_asset_folder: false #是否啟動資原始檔夾
relative_link: false #把連結改為與根目錄的相對位址
future: true  
highlight:  #程式碼塊的設定
  enable: true
  line_number: true
  auto_detect: true
  tab_replace:

# Category & Tag 分類 & 標籤
default_category: uncategorized #預設分類
category_map:   #分類別名   
tag_map:        #標籤別名

# Date / Time format  時間和日期
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD
time_format: HH:mm:ss

# Pagination 分頁
## Set per_page to 0 to disable pagination
per_page: 10 #每頁顯示的文章量 (0 = 關閉分頁功能)
pagination_dir: page #分頁目錄

# Extensions 擴充套件
## Plugins: http://hexo.io/plugins/ 外掛
## Themes: http://hexo.io/themes/  主題
theme: landscape #當前主題名稱

# Deployment #部署到github
## Docs: http://hexo.io/docs/deployment.html
deploy:
  type:

一般主題下有一個 languages 資料夾,用於對應 language 配置項。比如在 ejs 中有:

<%= __('tags') %>

language 的配置項是 zh-CN,則會在languages 資料夾下找到 zh-CN.yml 檔案中對應的項來解釋。

修改全域性配置時,注意縮排,同時注意冒號後面要有一個空格。

主題配置

主題的配置檔案在/themes/主題資料夾/_config.yml,一般包括導航配置(menu),內容配置(content),評論外掛,圖片效果(fancybox)和邊欄(sidebar)。

Hexo提高了大量的主題,可以在全域性配置檔案中更改主題:

# Extensions 擴充套件
## Plugins: http://hexo.io/plugins/ 外掛
## Themes: http://hexo.io/themes/  主題
theme: 你的主題名稱

主題的檔案目錄必須在 themes 目錄下。Hexo主題更換教程

基本使用

寫文章
通過new命令新建一篇文章:

$ hexo new [layout] <title>
//same as
hexo n

其中layout是可選引數,預設值為post

如果沒有設定 layout 的話,預設使用 _config.yml 中的 default_layout 引數代替。如果標題包含空格的話,需用引號括起來。

Hexo提供的layout在scaffolds目錄下,也可以在此目錄下自建layout檔案。新建的檔案則會儲存到source/_post目錄下。

然後啟動伺服器,便能看到剛剛發表的文章

發表的文章會全部顯示,如果文章很長,就只要顯示文章的摘要就行了。在需要顯示摘要的地方新增如下程式碼即可:

以上是摘要
<!--more-->
以下是餘下全文

重新整理,就能夠看到只顯示摘要了,同時會提供Read More的連結:

這個文字可以更改,在主題的配置檔案(themes/主題資料夾/_config.yml)中,找到Content

# Content
excerpt_link: Read More  #可以更改成想要顯示的文字
fancybox: true

此外,可以修改文章的引數,開啟scaffolds/post.md,增加類別和描述:

再新建一篇文章,就能看到增加了文章引數:

tagscategories有多個,則用陣列形式。

部署
在部署之前,需要通過命令把所有的文章都做靜態化處理,就是生成對應的html, javascript, css,使得所有的文章都是由靜態檔案組成的:

hexo generate
//same as
hexo g

在本地目錄下,會生成一個public的目錄,裡面包括了所有靜態化的檔案。

生成靜態檔案之後,如果要釋出到github,還需要配置deploy指令。在全域性的配置檔案中找到deploy

# Deployment
## Docs: http://hexo.io/docs/deployment.html
deploy:
  type: git
  repo: https://github.com/dwqs/dwqs.github.io.git
  branch: master

然後還要安裝hexo-deployer-git

npm install hexo-deployer-git -S

最後利用hexo指令釋出到github:

hexo d
//same as
hexo deploy

在github上便能看到剛剛部署的靜態web網站:

如果部署的是個人頁,新建的倉庫必須的 your-user-name.github.io

總結

Hexo常用命令:

hexo n == hexo new
hexo g == hexo generate
hexo s == hexo server
hexo d == hexo deploy

參考文章:

相關推薦

簡潔輕便部落平臺: Hexo

什麼是Hexo Hexo 是一個簡單地、輕量地、基於Node的一個靜態部落格框架,可以方便的生成靜態網頁託管在github和Heroku上,引用Hexo作者 @tommy351 的話: 快速、簡單且功能強大的 Node.js 部落格框架。 A f

Hexo+GitHub搭建靜態部落平臺(三)-Next主題基本使用

部落格網站搭建好後就是為自己的網站設定一個美觀的主題了, hexo 官方提供了許多官方主題,還有許多別人編寫的主題,例如:hexo-theme-jekyll 和 hexo-theme-yilia。還有很多就不一一列舉了,我將介紹也是我在使用的 Next主題 。

小程序商城系統開發模式平臺搭建

小程序 效果 商機 應用場景 模式 找到 成本 時代 哪些 小程序商城系統開發(李想.185.6504.8478)隨著移動互聯網的深入普及,流量碎片化的趨勢無法逆轉,百度、淘寶等平臺成本越來越高,效果卻越來越差,企業單一流量入口保持增長的時代結束。小程序二維碼多入口的訪問形

集中化管理平臺Ansible(一)

test cfengine key 構建 ron 接口 gid linux平臺 文檔 什麽是ansible? ansible是一種集成IT系統的配置管理、應用部署、執行特定任務的開源平臺.它是基於python語言,由Paramiko和PyYAML兩個關鍵模塊構建。集合了眾多

雲端儲存平臺產品

雲上儲存產品主要有物件儲存,塊儲存,網路檔案系統(NAS),還有最賺錢的CDN,我們將針對這些主流產品,講講他們產品特點,有云上儲存時候知道如何選型,當然我們是技術型作者也會簡單講講實現思路,出於資訊保安,不可能完全闡述工業界方案。工業界各大廠商很多上層儲存產品都重度依賴底層檔案系統,我們也捎帶說說

支付平臺--網聯

支付清算體系是一個國家的金融基礎設施,或說是公共服務,而提供這一服務的機構是銀聯,而現在是銀聯和網聯。 現在我國大體維持“結算-清算”二級制的支付體系,通俗的說,銀行與商戶,消費者之間為結算關係,而銀行之間構成清算關係,這兩個層次完成後,支付環節才算終了。清算,其實就是因跨行交易而產生的銀行

快速開發:用Python快速編寫部落平臺

  10個優秀的程式設計師裡,9個都有寫部落格的習慣。 學習Python中有不明白推薦加入交流裙                 號:735934841      

前端系列教程之推薦(部落搭建 Hexo

今天給大家分享一個快速搭建部落格的網站,Hexo,點我跳轉 官網對於它的描述:快速、簡潔且高效的部落格框架 它的優點: 1. Node.js 所帶來的超快生成速度,讓上百個頁面在幾秒內瞬間完成渲染。 2. Hexo 支援 GitHub Flavored Markdown 的所有功能,甚至

迅為iMX6UL開發板多路串列埠開發平臺介面

iMX6UL開發板 核心板引數尺寸38mm*42mmCPUiMX6UL 主頻528MHz   ARM Cortex-A7架構 單核 記憶體512MDDR儲存8G EMMC工作電壓5V電壓供電系統支援Linux-QT4.7作業系統執行溫度-20℃ ~ +80℃引腳間距1.27m

Linux裝置驅動模型之platform(平臺)匯流排

1 int driver_attach(struct device_driver *drv) 2 { 3 return bus_for_each_dev(drv->bus, NULL, drv, __driver_attach); // 這個函式的功能就是: 依次去匹配b

一晚上搭建個人域名部落Github+Hexo

搭建個人域名部落格其實沒有那麼難。下班到家後,九點開始,十二點半的時候就可以訪問了http://www.lvchongstudio.top。 接下來就記錄一下整個搭建的過程,以及這其中的坑,重點是坑。 首先要準備的環境 Node.js git 阿里雲購

Hexo搭建部落2 Hexo安裝及部署

本文介紹 安裝hexo 在站點目錄下,開啟git-bash輸入下面的指令安裝hexo: npm install hexo-cli g 注意 安裝過程可能比較慢,這跟網路環境有關。如果天沒有見到執行效果,請耐心等待。 我在用git bash安裝的時候就半天沒

如何在Linux平臺上安裝Ghost部落平臺

Ghost是一個相對較新的部落格釋出平臺,它開始於眾籌平臺kickstarter上一個£25,000英鎊的眾籌專案。儘管WordPress依然是網上主流的部落格工具,但它現在已然是一個擁有眾多第三方開發功能的通用內容管理平臺,發展到現在已經逐漸變得笨重、複雜以至於難以維護。但與此同時,僅僅誕生才幾個月的G

CSDN、部落園等6大技術部落平臺的寫作體驗測評

功能對比 csdn部落格園知乎簡書segmentfault開源中國 mar

白嫖碼雲Pages,兩分鐘的事,就能搭個百度能搜到的個人部落平臺

為了攢點錢讓女兒做個富二代(笑),我就沒掏錢買伺服器,白嫖 GitHub Pages 搭了一個部落格平臺。不過遺憾的是,GitHub Pages 只能被谷歌收錄,無法被百度收錄,這就白白損失了一大波流量! 從 2 月份到 9 月份,基本上保持了日更的節奏,接近 200 篇的原創文章,但總的瀏覽量只有 10

phpstorm+xdebug - cxscode - 部落

1.run->edit configurations StartUrl最好是網址,不然容易出錯,Server選擇的是配置時新增的Servers,詳可參考:http://www.cnblogs.com/cxscode/p/7045944.html 2. Chrome谷歌瀏覽器的擴充套件我安裝了兩個

xxx.launch檔案部落學習筆記)

ROS筆記(一)xxx.launch檔案詳解 .launch檔案是ROS中用於同時啟動多個節點的重要檔案,在大型的ROS專案中使用頻繁,所以掌握其主要元素與屬性對ROS系統的應用至關重要: launch標籤(元素)說明 launch拓展說明 parameter說明

使用Hexo搭建個人部落,極速高效簡潔,新手小白可操作

目錄 只需要兩步 第一步程式碼部分: 第二部分放置程式碼 https://www.cnblogs.com/blogjun/articles/8289977.html 詳細操作可參考上文 這裡說一下大概的原理吧(純屬個人觀點,如有疑問請評論回去,接懟) 只需要兩步

比較全面的Eclipse配置(包括智慧提示設定、智慧提示外掛修改,修改空格自動上屏、JDK配置、各種快捷鍵列表……) - decarl - 部落

Eclipse編輯器基本設定 1、新增行號 在邊緣處右鍵 2、改字型 字型的一般配置 3、去掉拼寫錯誤檢查 4、Java程式碼風格 程式碼格式化 Ctrl + Shift + F 之後點選右邊的New按鈕,新建一個風格。

部落園加入班級

  相信有些同學在收到老師的邀請連結後想加入班級,即使自己登入了也找不到加入的入口。希望本博文能夠幫助到大家。 在瀏覽器複製老師的邀請連結後會收到登入提示資訊,之後只要註冊賬號登入就行,問題主要是因為在註冊賬號後還需要開通博文。 那麼如何開通博文呢   首先點選右上角“我的部落格”   &n