Hexo Docs(一)- 開始準(zhǔn)備

折騰Hexo這貨已經(jīng)有一段時間了,之前也不愿意去看官方文檔,到處搜索如何搭建,如何設(shè)置等等,但是有時也無法找到自己想要的內(nèi)容,于是只能研究官方文檔了,奈何是英文的,從沒有完整看完。最近靜下心來,把Hexo Docs從頭看了一遍,將官方文檔的大體內(nèi)容翻譯(當(dāng)然談不上翻譯,只是列出主要內(nèi)容)了一下,這里只是用自己的話介紹一下主要功能,無用的東西就省略了。

官方Docs分為了4個部分,分別為:開始準(zhǔn)備、基礎(chǔ)用法、自定義、其他。Hexo的主要內(nèi)容是在基礎(chǔ)用法和自定義這兩部分上。

這部分主要介紹了什么是Hexo、如何安裝以及基本配置。

Hexo是一個快速的、簡單的、功能強(qiáng)大的博客框架。你可以通過Markdown語言寫文章,然后hexo幫你生成一個帶有漂亮主題的靜態(tài)頁面。

1、安裝

安裝hexo的前提是要有Node.js以及Git,至于什么是Git和Node以及如何安裝他們可以自行搜索了解。

安裝完Node以及Git后,通過下面的命令安裝Hexo:

npm install -g hexo-cli

2、啟動

在電腦中找個目錄,并進(jìn)入目錄,執(zhí)行下面幾個命令,hexo就準(zhǔn)備就緒了。

hexo init
npm install

上面兩條命令,第一條是初始化目錄,會自動生成一些基礎(chǔ)文件和目錄,第二條命令是安裝運(yùn)行hexo的一些必要的組件。

OK,運(yùn)行完,你會看到你的當(dāng)前目錄下,會自動創(chuàng)建一些目錄,如下:

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

下面依次介紹上面各個文件或者目錄的用途:

  • _config.yml站點(diǎn)配置文件,很多全局配置都在這個文件中。
  • package.json 應(yīng)用數(shù)據(jù)。從它可以看出hexo版本信息,以及它所默認(rèn)或者說依賴的一些組件。
  • scaffolds 模版文件。當(dāng)你創(chuàng)建一篇新的文章時,hexo會依據(jù)模版文件進(jìn)行創(chuàng)建,主要用在你想在每篇文章都添加一些共性的內(nèi)容的情況下。
  • scripts 放腳本的文件夾, 就是放js文件的地方
  • source 這個文件夾就是放文章的地方了,除了文章還有一些主要的資源,比如文章里的圖片,文件等等東西。這個文件夾最好定期做一個備份,丟了它,整個站點(diǎn)就廢了。
  • themes 主題文件夾。

3、配置

前面說了,主要配置就是_config.yml這個文件了,所以來看看怎么配置它了。配置也是分了幾個大塊的。

(1)首先是Site部分,也就是站點(diǎn)的一些參數(shù)設(shè)置:

  • title 站點(diǎn)名字,也就是html的title,會顯示在瀏覽器標(biāo)簽上。
  • subtitle 站點(diǎn)副標(biāo)題,會顯示在首頁上,可以不填。
  • description 站點(diǎn)描述,可以不填。
  • author 作者
  • language 語言
  • timezone 站點(diǎn)時區(qū),默認(rèn)是電腦時間

(2)接下來是URL部分設(shè)置:

  • url 站點(diǎn)網(wǎng)址
  • root 站點(diǎn)根目錄
  • permalink 文章的永久網(wǎng)址鏈接,默認(rèn)是:year/:month/:day/:title/,指的什么意思?比如我一篇叫『love』的文章是在2012年1月1日寫的,那么它對應(yīng)的鏈接就是http://yoururl/2012/01/01/love/
  • permalink_default

如果網(wǎng)址是次級目錄,比如:http://example.com/blog,那么就要設(shè)置urlhttp://example.com/blog,并且root要設(shè)置為/blog/。

(3)再接下來就是目錄配置:

  • source_dir source目錄,默認(rèn)值為source
  • public_dir public目錄,靜態(tài)網(wǎng)站生成的地方,默認(rèn)值為public
  • tag_dir tag目錄
  • archive_dir Archive目錄
  • category_dir 分類目錄
  • code_dir 代碼目錄
  • i18n_dir i18n目錄
  • skip_render 不想被渲染的路徑

上面這一部分的值,我基本上沒有改過,默認(rèn)的就行了。

(4)接著是寫作配置了:

  • new_post_name 新建文章默認(rèn)文件名,默認(rèn)值為 :title.md,比如你執(zhí)行命令hexo new hello,就會默認(rèn)在_post目錄下創(chuàng)建一個hello.md的文件。
  • default_layout 默認(rèn)布局
  • titlecase
  • external_link 在新標(biāo)簽中打開一個外部鏈接,默認(rèn)為true
  • filename_case 轉(zhuǎn)換文件名,1代表小寫;2代表大寫;默認(rèn)為0,意思就是創(chuàng)建文章的時候,是否自動幫你轉(zhuǎn)換文件名,默認(rèn)就行,意義不大。
  • render_drafts 是否渲染_drafts目錄下的文章,默認(rèn)為false
  • post_asset_folder 是否啟用Asset Folder,默認(rèn)為false,至于什么是Asset Folder,后面有講解。
  • future 是否顯示未來日期文章,默認(rèn)為true
  • highlight 代碼塊設(shè)置

這一部分也可以基本不變,默認(rèn)值就行。

(5)接下來是分類和標(biāo)簽的設(shè)置:

  • default_category 默認(rèn)分類,默認(rèn)為無分類,當(dāng)然你可以設(shè)置一個默認(rèn)分類。
  • category_map 分類,不明白其作用
  • tag_map 標(biāo)簽,不明白其作用

(6)日期和時間格式配置:

Hexo使用的Moment.js來處理時間的。

  • data_format 日期格式,默認(rèn)為MMM D YYYY,不過我將它改成了YYYY-MM-DD,符合個人口味,其他格式模版可以查看Moment.js
  • time_format 時間格式,默認(rèn)為H:mm:ss

(7)分頁設(shè)置:

  • per_page 一頁顯示多少篇文章,0 為不分頁,默認(rèn)值為 10
  • pagination_dir 分頁目錄,默認(rèn)值為page

(8)最后就是擴(kuò)展配置:

  • theme 主題配置,此處填上主題名就OK了,當(dāng)然在themes目錄下一定要有你配置的主題文件夾。
  • deploy 部署配置,將本地public目錄也就是網(wǎng)站部署到服務(wù)器上的配置。如何部署?Docs文檔『基礎(chǔ)用法』部分有說明。

4、命令

這塊主要介紹了hexo的一些命令的使用方法。

  • hexo init [folder],使用該命令初始化一個站點(diǎn),不加目錄參數(shù),就初始化當(dāng)前目錄
  • hexo new [layout] <title>,創(chuàng)建一篇文章,如果不指定layout,那么就使用_config.ymldefault_layout的值,標(biāo)題中如果有空格,將整個title放到引號中。比如,hexo new "hello world"創(chuàng)建一篇叫hello world的文章。
  • hexo generate,簡單的說,這個命令就是將md格式的文章,生成靜態(tài)網(wǎng)頁。這個命令可以簡寫為hexo g,它有兩個參數(shù)選項(xiàng):
    • -d,--deploy 生成完后直接部署
    • -w,--watch 查看文件的改變
  • hexo publish [layout] <filename>,發(fā)布一個草稿
  • hexo server,啟動一個本地服務(wù),可以在本地查看網(wǎng)站,默認(rèn)啟動http://localhost:4000,貌似這個不是默認(rèn),運(yùn)行命令的時候可以查看提示消息。它也有一些參數(shù):
    • -p,--port 指定端口
    • -s,--static 僅服務(wù)靜態(tài)文件
    • -l,--log 開啟日志
  • hexo deploy 部署站點(diǎn),可以縮寫hexo d,有一個參數(shù),hexo d -g表示在部署前先重新生成一下站點(diǎn)
  • hexo render <file1> [file2] ... 渲染文件,具體我也不太明白這是干嘛的
  • hexo migrate <type> 遷移其他博客系統(tǒng)的命令,具體怎么使用DOCS后面有介紹。
  • hexo clean 刪除緩存文件db.json以及生成的public目錄,當(dāng)你修改了某些樣式或者配置時,如果發(fā)現(xiàn)hexo g后也沒有反應(yīng),就可以執(zhí)行一下這個命令。
  • hexo list 沒用過
  • hexo version 顯示版本信息
  • hexo --safe 安全模式,使所有插件和腳本不生效
  • hexo --dehug 調(diào)試模式
  • hexo --silent 靜默模式,不在終端上顯示任何信息
  • hexo --config custom.yml 使用一個自定義配置文件替換默認(rèn)_config.yml
  • hexo --draft 顯示草稿文章(位于source/_drafts目錄下)
  • hexo --cwd /path/to/cwd 自定義當(dāng)前工作目錄路徑,假如你沒在工作目錄下,可以使用這個命令指定一下工作目錄路徑。

5、遷移

從其他博客站點(diǎn)遷移文章到hexo中,像類似Jekyll和Octopress只要把.md的文章拷貝過來就OK了,還有一些需要安裝插件。

(1)RSS

首先安裝插件npm install hexo-migrator-rss --save,待安裝完成后,運(yùn)行命令hexo migrate rss <source>就可以從RSS遷移所有文章了。source可以是一個文件路徑或者URL

(2)Jekyll & Octopress

直接拷貝_posts文件夾里的文章到hexo的source/_posts就OK了,然后修改new_post_name參數(shù)為對應(yīng)文章title命名規(guī)則就行了,如:year-:month-:day-:title.md

(3)WordPress

安裝插件npm install hexo-migrator-wordpress --save,使用WordPress導(dǎo)出功能導(dǎo)出文章,然后運(yùn)行命令hexo migrate wordpress <source>,source為導(dǎo)出文件

(4)Joomla

安裝插件npm install hexo-migrator-joomla --save,使用J2XML組件導(dǎo)出Joomla文章,然后運(yùn)行命令hexo migrate joomla <source>,source為導(dǎo)出文件

導(dǎo)出或者導(dǎo)入,可能出現(xiàn)一些問題,可以自行百度搜索。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容