零基礎(chǔ)用Hexo+Github 搭建博客2

轉(zhuǎn)載:Github Pages + Hexo搭建博客(二)

此篇博客主要講解Hexo的站點(diǎn)配置、主題配置和使用以及博客文章的發(fā)布。

在Hexo中有兩份主要的配置文件,其名稱都是_config.yml。其中,一份位于站點(diǎn)根目錄下,主要包含Hexo本身的配置,我們稱之為全局配置文件;另一份位于主題目錄下,這份配置由主題作者提供,主要用于配置主題相關(guān)的選項,我們稱之為主題配置文件。

hexo的官方網(wǎng)站:https://hexo.io/,里面有hexo的詳細(xì)說明文檔,不過是英文的。沒關(guān)系,英語不好的請往下看。

注意:配置文件中每個字段后面的冒號是英文格式的,且在其后要加一個空格再寫值

比如:

title: Myblog

hexo的站點(diǎn)配置

編輯hexo目錄下的_config.yml文件,具體配置如下

# Hexo Configuration

## Docs: https://hexo.io/docs/configuration.html

## Source: https://github.com/hexojs/hexo/

# Site 站點(diǎn)信息配置,根據(jù)自己的需要進(jìn)行修改

title: Line's Blog? ? #站點(diǎn)名,會在瀏覽器頁面標(biāo)簽左上角顯示

subtitle: Love Coding,Enjoy Life? #副標(biāo)題

description: fzy-line? #對站點(diǎn)的描述,給搜索引擎看的,可以自定義

author: Line? #網(wǎng)站作者

language: zh-Hans? #網(wǎng)站語言

timezone: Asia/Shanghai? #時區(qū)

avatar: /images/logo.jpg? #網(wǎng)站logo,會在瀏覽器頁面標(biāo)簽左上角顯示

# URL 博客地址,與申請的GitHub一致

## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'

url: https://fzy-line.github.io/

root: /

#博客鏈接格式

permalink: :year/:month/:day/:title/

permalink_defaults:

# Directory? #目錄設(shè)置,一般不修改

source_dir: source? #資源文件夾,放在里面的文件會上傳到github中

public_dir: public? #公共文件夾,存放生成的靜態(tài)文件

tag_dir: tags? #標(biāo)簽文件夾,默認(rèn)是tags。實際存放在source/tags中。

archive_dir: archives? #檔案文件夾,默認(rèn)是archives。

category_dir: categories? #分類文件夾,默認(rèn)是categories。實際存放在source/categories中。

code_dir: downloads/code? #代碼文件夾,默認(rèn)是downloads/code

i18n_dir: :lang? #國際化文件夾,默認(rèn)跟language相同

skip_render:? #跳過指定文件的渲染,您可使用 glob 來配置路徑。

# Writing? 這是文章布局、寫作格式的定義,一般不修改

new_post_name: :title.md # File name of new posts

default_layout: post

titlecase: false # Transform title into titlecase

external_link: true # Open external links in new tab

filename_case: 0

render_drafts: false

post_asset_folder: false

relative_link: false

future: true

highlight:

enable: true

line_number: true

auto_detect: false

tab_replace:

# Category & Tag? #分類和標(biāo)簽,一般不修改

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? #可根據(jù)自己需要修改

## Set per_page to 0 to disable pagination

per_page: 6? #分頁,每頁文章數(shù)量

pagination_dir: page

# Extensions? #擴(kuò)展

## Plugins: https://hexo.io/plugins/

## Themes: https://hexo.io/themes/

theme: next? #博客主題

# Deployment 這里配置站點(diǎn)部署到Github,上一節(jié)中已經(jīng)講過

## Docs: https://hexo.io/docs/deployment.html

deploy:

type: git

repository: git@github.com:你的Github用戶名.github.io.git

branch: master

hexo使用主題

Hexo 安裝主題的方式非常簡單,只需要將主題文件拷貝至站點(diǎn)目錄的 themes 目錄下, 然后修改下配置文件即可。

hexo官方主題下載地址:https://hexo.io/themes/,里面有多種多樣的主題模板供大家選擇。

這里推薦一款很火的主題:next,下面的配置也是以這個主題為例。如果你使用的是其他的主題,那么請你自己根據(jù)說明文檔進(jìn)行配置。

next主題的官網(wǎng),有很詳細(xì)的配置文檔:http://theme-next.iissnan.com/

下載主題

next下載地址:https://github.com/iissnan/hexo-theme-next

到Gtihub下載此主題后解壓,打開可以看到里面很多主題相關(guān)的文件,我們將此文件夾改名為next,然后將它復(fù)制到站點(diǎn)目錄的/themes/目錄下。

啟用主題

hexo默認(rèn)是使用的landscape主題,我們可以在站點(diǎn)目錄下的/themes/目錄下看到landscape文件夾。

我們的themes文件夾里可以放很多主題的文件夾,但是實際上我們的網(wǎng)站采用哪一個主題,這是需要我們進(jìn)行配置的,打開編輯全局配置文件,找到下面的內(nèi)容:

# Extensions? #擴(kuò)展

## Plugins: https://hexo.io/plugins/

## Themes: https://hexo.io/themes/

theme: next? #博客主題,默認(rèn)是landscape

在theme字段這里填上你下載的主題的文件夾的名字,例如我們使用next主題就填上next。這樣配置文件就和我們的主題文件關(guān)聯(lián)起來了。

配置主題配置文件

主題配置文件位于站點(diǎn)目錄下的/themes/next/目錄下,打開編輯,這里我們只貼出需要修改的地方進(jìn)行介紹,如下:

(1)配置基本信息

# 網(wǎng)站圖標(biāo),將其放在hexo站點(diǎn)/source/目錄下

favicon: /logo.jpg

# 關(guān)鍵詞,例如下面是我寫的

keywords: "Python,Life,Android"

# 網(wǎng)站建立時間,顯示在頁面底部

since: 2016

# 網(wǎng)站版權(quán)聲明,顯示在頁面底部

copyright: true

(2)選擇外觀樣式

目前 NexT 支持三種 Scheme,他們是:

Muse - 默認(rèn) Scheme,這是 NexT 最初的版本,黑白主調(diào),大量留白

Mist - Muse 的緊湊版本,整潔有序的單欄外觀

Pisces - 雙欄 Scheme,小家碧玉似的清新

找到主題配置文件的如下三行,其中#號表示注釋,要啟用哪一種樣式就把#號去掉即可。

# Schemes

#scheme: Muse

#scheme: Mist

scheme: Pisces

(3)設(shè)置菜單

菜單內(nèi)容的設(shè)置格式是:item name: link。其中 item name 是一個名稱,這個名稱并不直接顯示在頁面上,它將用于匹配圖標(biāo)以及翻譯。

menu:

home: /

archives: /archives

categories: /categories

tags: /tags

about: /about

#sitemap: /sitemap.xml

#commonweal: /404.html

此設(shè)定格式是 item name: icon name,其中 item name 與上一步所配置的菜單名字對應(yīng),icon name 是 Font Awesome 圖標(biāo)的 名字。而 enable 可用于控制是否顯示圖標(biāo),你可以設(shè)置成 false 來去掉圖標(biāo)。

menu_icons:

enable: true

#KeyMapsToMenuItemKey: NameOfTheIconFromFontAwesome

home: home

about: user

categories: th

schedule: calendar

tags: tags

archives: archive

sitemap: sitemap

commonweal: heartbeat

測試配置效果

$ hexo clean #用于清除緩存

$ hexo generate #生成靜態(tài)網(wǎng)頁

$ hexo server #開啟本地預(yù)覽

訪問:http://localhost:4000/查看效果,如下圖:

解決遇到的問題

到這里會發(fā)現(xiàn)點(diǎn)擊左側(cè)菜單的分類、標(biāo)簽和關(guān)于會提示找不到頁面。

這是因為我們只是創(chuàng)建了菜單,還沒有創(chuàng)建相應(yīng)的頁面。

新建頁面的hexo命令是:

$ hexo new page "pageName"

我們新建分類、標(biāo)簽、關(guān)于頁面:

$ hexo new page 'categories'

$ hexo new page 'tags'

$ hexo new page 'about'

分別執(zhí)行完這三條命令后,我們會發(fā)現(xiàn)站點(diǎn)目錄下的/source/目錄下多了三個文件夾:categories,tags,about,每個文件夾里面都會生成一個index.md文件,如下:

默認(rèn)都只會生成title和date字段,我們要為其添加上type字段,并賦值。

注意:博客文章的抬頭信息中每個字段后面的冒號是英文格式的,而且其后要加一個空格再寫值

categories下的index.md:

---

title: categories

date: 2016-12-02 23:28:27

type: categories

---

tags下的index.md:

title: tags

date: 2016-12-02 23:31:23

type: tags

about下的index.md:

title: about

date: 2016-12-02 23:31:23

type: about

這樣我們的這幾個頁面也就沒有問題了。至此,基本的配置也就完成了,接下來介紹如何寫博客與發(fā)布博客。

發(fā)布博客

新建博客文章

$ hexo new "postName" #新建文章

實例:

新建博客《我的第一篇博客》

$ hexo new "我的第一篇博客"

到站點(diǎn)目錄下的/source/_posts/目錄下可以看到生成了名為:我的第一篇博客.md的文件,這是Markdown格式的文件,可以用sublime text3或者notepad++等編輯器打開,也可以下載一個MarkdownPad來編輯Markdown文件。

Markdown是一種可以使用普通文本編輯器編寫的標(biāo)記語言,通過簡單的標(biāo)記語法,它可以使普通文本內(nèi)容具有一定的格式。

如果你沒有使用過Markdown編輯器,那請你自己去學(xué)習(xí)一下Markdown語法。

Markdown 語法說明(簡體中文版):http://www.appinn.com/markdown/

編輯博客

Hexo默認(rèn)新建的文章抬頭已有title、date、tags等屬性,可能缺乏categories和meta標(biāo)簽,想要指定目錄就需要添加categories屬性,而meta標(biāo)簽則是為了便于搜索引擎的收錄。如下:

---

title: 我的第一篇博客

date: 2016-12-02 23:44:20

tags: #文章標(biāo)簽 可以省略

---

tags字段是文章的標(biāo)簽,可以指定標(biāo)簽也可以不指定,如果要指定多個標(biāo)簽需要這樣做:

tags: [Linux,Http,網(wǎng)絡(luò)]

我們可以添加上categories字段,對博客進(jìn)行分類管理,然后點(diǎn)擊主頁左側(cè)菜單的分類就可看到具體的分類。例如:

categories: Linux

如何實現(xiàn)上圖的閱讀全文功能?

在自己喜歡的位置添加一個:?

<!--more-->

即可,主題會自動識別這個標(biāo)簽,生成對應(yīng)的閱讀全文按鈕。

以上是文章摘要

<!--more-->

以下是余下全文

發(fā)布博客

$ hexo clean? #清除緩存 網(wǎng)頁正常情況下可以忽略此條命令

$ hexo generate? #生成靜態(tài)頁面至public目錄

寫好之后可以現(xiàn)在本地預(yù)覽,確定無誤之后再部署到Github上。

$ hexo server? #開啟預(yù)覽訪問端口(默認(rèn)端口4000,'ctrl + c'關(guān)閉server)

$ hexo deploy? #將.deploy目錄部署到GitHub

需要說明的是:

我們博客文章的編寫都是Markdown文件,但是發(fā)布到github上的其實是html文件,將Markdown轉(zhuǎn)換成html這個工作我們只要輸入hexo generate命令即可,hexo會幫我們完成轉(zhuǎn)換。

hexo命令簡寫形式

hexo n "我的博客" == hexo new "我的博客"

hexo g == hexo generate

hexo s == hexo server

hexo d == hexo deploy

下一篇博客主要講解如何優(yōu)化next主題,使用主題提供的一些第三方功能。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容