使用 Github 空間搭建 Hexo 技術(shù)博客--安裝篇(基于 IntelliJ IDEA)

部署前介紹

Hexo 是什么

  • Hexo 的中文官網(wǎng):http://hexo.io/zh-cn/
  • 作者 Tommy Chen:https://zespia.tw/
  • 在我的理解里面:Hexo 是一個基于 Node.js 快速搔课、簡潔且高效的博客框架庶喜,可以將 Markdown 文件快速的生成靜態(tài)網(wǎng)頁,托管在 GitHub Pages 上。
  • 而官網(wǎng)自己是這樣說的:

Hexo 是一個快速、簡潔且高效的博客框架狂窑。Hexo 使用 Markdown(或其他渲染引擎)解析文章走越,在幾秒內(nèi)杏糙,即可利用靚麗的主題生成靜態(tài)網(wǎng)頁玫芦。

為什么要用 Hexo

適合人群

  • 有 IntelliJ IDEA 基礎(chǔ)的程序員(或者你使用的是 JetBrains 家的其他產(chǎn)品)
  • 只想搭建一個技術(shù)博客的人(真心別搞太多衷快,你沒那么多精力)

文章要求

  • 如果是 Git,Node.js 的新人姨俩,則這篇文章不要間斷操作,要一氣呵成师郑,不然可能會遇到各種問題环葵。

本文環(huán)境

搭建所需軟件

文章前提

域名綁定

  • 如果你一開始就打算要綁定域名张遭,則下面教程中所有可以填寫域名的地方你都填寫上你要綁定的域名,如果你沒獨立域名地梨,那就使用 Github 默認(rèn)給你的:XXXXXX.github.io 域名即可菊卷。

部署開始

git 安裝

  • 雙擊運行 Git-2.7.0.2-64-bit.exe,接下來一律下一步宝剖,不需要多余的選擇洁闰,假設(shè)你安裝的目錄位置跟我一樣:C:\Program Files\Git
  • 打開 Git Bash(路徑:C:\Program Files\Git\git-bash.exe),輸入:git --version
    • 如下圖万细,如果出現(xiàn):git version 2.7.0.windows.2扑眉,這表示安裝成功
    • 驗證 git 安裝

Node.js 安裝

  • 雙擊運行 node-v5.7.0-x64.msi,接下來一律下一步,不需要多余的選擇腰素。
  • 安裝完之后聘裁,打開 Git Bash,輸入:npm -v
    • 如下圖弓千,如果出現(xiàn):3.6.0衡便,則表示 Node.js 安裝成功
    • 驗證 node.js 安裝

Node.js 源設(shè)置

  • 在安裝 Hexo 之前,先說一下 Node.js 的源洋访,Node.js 官方源默認(rèn)是:http://registry.npmjs.org镣陕,但是由于在國外,說不定你使用的時候就抽風(fēng)無法下載任何軟件捌显。所以我們決定暫時使用淘寶提供的源茁彭,淘寶源官網(wǎng):http://npm.taobao.org/
  • 在 Git Bash 中我們執(zhí)行下面這一句(這是一整句的):
alias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/dist \
--userconfig=$HOME/.cnpmrc"
  • 現(xiàn)在驗證下是否可以使用淘寶的 cnpm 命令:cnpm info express
    • 如果能輸出一大堆介紹,則說明成功了扶歪,以后每次要使用淘寶的源都需要這樣來±矸危現(xiàn)在除了默認(rèn)的 npm,還多了一個 cnpm 可以使用善镰,我們下面有關(guān)安裝的講解內(nèi)容也都是基于此臨時命令妹萨。
    • 如果輸出:bash: cnpm: command not found,則表示沒成功炫欺,需要你在排查下

安裝 Hexo 框架

  • 安裝 Hexo(注意乎完,現(xiàn)在是 cnpm 開頭了,不是 npm 了):cnpm install -g hexo-cli
    • 安裝時間不一定很快品洛,有可能需要等 3 ~ 5 分鐘树姨。
    • 安裝完有 WARN 警告也沒關(guān)系的。

創(chuàng)建 Hexo 項目

  • 現(xiàn)在假設(shè)我要創(chuàng)建一個名為 hexo 的項目桥状,項目目錄就放在:E:\git_work_space 目錄下帽揪,所以我們在 E:\git_work_space 目錄下創(chuàng)建一個 hexo 目錄。現(xiàn)在這個項目的全路徑是:E:\git_work_space\hexo
  • 打開 Git Bash:
    • 進(jìn)入該目錄:cd e:/git_work_space/hexo
    • 然后執(zhí)行:hexo init辅斟,這個時間也會比較長转晰,也有可能要等幾分鐘,有顯示 WARN 也不用管
    • 最后執(zhí)行:cnpm install士飒,有顯示 WARN 也不用管
    • 安裝完成之后查邢,E:\git_work_space\hexo 目錄結(jié)構(gòu)是這樣的:
      • 安裝 hexo 后的目錄結(jié)構(gòu)
    • 現(xiàn)在我們啟動 hexo 本地服務(wù),看下默認(rèn)的博客是怎樣的酵幕,命令:hexo server
    • 現(xiàn)在用瀏覽器訪問:http://localhost:4000/扰藕,效果如下圖
      • 默認(rèn)模板效果
    • 如果要停止 hexo 服務(wù):在 Git Bash 下按 Ctrl + C 即可

選用其他主題

  • 由于默認(rèn)主題太大眾了,所以現(xiàn)在我們換個主題芳撒。
  • 你可以去這里找主題:
  • 我這里選擇的 yeleehttps://github.com/MOxFIVE/hexo-theme-yelee
    • 原因是能最大化襯托出:目錄他嫡、文章內(nèi)容、代碼塊庐完。因為我對這個博客的定位就是用來放技術(shù)類內(nèi)容钢属,所以不會讓它太雜或是太花。只是目前這個顏色偏淺门躯,后續(xù)還需要調(diào)整淆党。
  • 現(xiàn)在假設(shè)你跟我要用的模板是一樣:
    • 還是讓 Git Bash 保持在 E:\git_work_space\hexo 目錄下,然后輸入命令:git clone https://github.com/MOxFIVE/hexo-theme-yelee.git themes/yelee
    • 這樣就在 E:\git_work_space\hexo\themes 目錄下生成了一個 yelle 文件夾讶凉,里面有我們剛剛 clone 下來的主題內(nèi)容染乌。
    • 如果以后你不自己修改這個主題的話,可以考慮經(jīng)常更新下作者的更新內(nèi)容:
      • cd e:/git_work_space/hexo/themes/yelee
      • git pull origin master
  • 下載好主題文件之后懂讯,我們現(xiàn)在要修改 E:\git_work_space\hexo 目錄下的項目配置文件:_config.yml荷憋,把對應(yīng)的主題目錄名改下,編輯如下圖褐望。
    • 修改主題目錄
  • 更改主題目錄名后勒庄,我們還要重新生成主題靜態(tài)內(nèi)容:
    • 繼續(xù)在 Git Bash 中輸入命令:
      • 重新生成靜態(tài)博客的所有內(nèi)容:hexo generate
      • 重啟 hexo 本地服務(wù):hexo server
      • 重新訪問:http://localhost:4000/,效果如下圖
      • 新主題效果

創(chuàng)建 Github pages 并 SSH 授權(quán)

  • 現(xiàn)在假設(shè)你已經(jīng)有一個 Gtihub 賬號瘫里,你還需要一個特別的倉庫实蔽,特別在倉庫名就是你的 Github 賬號登錄名,比如我的用戶名是:judasn谨读,那我要創(chuàng)建的倉庫名字完整滴填寫是:judasn.github.io局装,具體效果如下圖。
    • 創(chuàng)建 github pages
  • 創(chuàng)建好倉庫之后劳殖,要本地生成 SSH 秘鑰铐尚,方便電腦上的 git 軟件好提交內(nèi)容到 Github 上
    • 在 Git Bash 中,輸入:ssh-keygen -t rsa -C "你的郵箱地址"哆姻,然后回車宣增,回車,再回車填具,一共 3 次回車,具體含義自己 Google匆骗。
    • 比如我的:ssh-keygen -t rsa -C "jn3.141592654@gmail.com"劳景,生成后效果如下圖:
    • 生成 ssh 密鑰
    • 此時,生成密鑰后碉就,在你電腦目錄:C:\Users\你的計算機用戶名.ssh 下盟广,會生成兩個文件:
      • 私鑰:id_rsa
      • 公鑰:id_rsa.pub
      • 如果生成的不是這樣的文件,那刪除掉這兩個生成的瓮钥,重新執(zhí)行上面的命令筋量,讓它再一次生成烹吵。
    • 現(xiàn)在用記事本打開 id_rsa.pub,復(fù)制文件中的所有內(nèi)容桨武。
      • 訪問:https://github.com/settings/ssh肋拔,添加新秘鑰,效果如下圖
        • Title:自己隨便取
        • Key:把剛剛復(fù)制的都粘貼進(jìn)來
        • 添加密鑰

把本地的博客內(nèi)容同步到 Github 上

  • 要把本地的靜態(tài)博客同步到 Github呀酸,我們還需要先安裝兩個跟部署相關(guān)的 hexo 插件:
    • 繼續(xù)在 Git Bash 中輸入:
    • cnpm install hexo -server --save
    • cnpm install hexo-deployer-git --save
  • 編輯全局 hexo 的配置文件:_config.yml
# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/

# Site凉蜂,這一塊區(qū)域主要是設(shè)置博客的主要說明,需要注意的是:每個冒號后面都是有一個空格性誉,然后再書寫自己的內(nèi)容的
title: YouMeek Code
subtitle: 這里只有代碼相關(guān)窿吩,要了解更多 >>> YouMeek.com
description: 這里是 YouMeek.com 一部分
author: Judas.n
email: 363379444@qq.com
language: zh-CN
timezone:

# URL,這一塊一般可以設(shè)置的是 url 這個參數(shù)错览,比如我要設(shè)置綁定域名的纫雁,這里就需要填寫我的域名信息
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://code.youmeek.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
i18n_dir: :lang
skip_render:

# 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
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
pagination_dir: page

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: yelee

# Deployment
## 這里是重點,這里是修改發(fā)布地址倾哺,因為我們前面已經(jīng)加了 SSH 密鑰信息在 Github 設(shè)置里面了轧邪,所以只要我們電腦里面持有那兩個密鑰文件就可以無需密碼地跟 Github 做同步。
## 需要注意的是這里的 repo 采用的是 ssh 的地址悼粮,而不是 https 的闲勺。分支我們默認(rèn)采用 master 分支,以后你翅膀硬了要換其他也無所謂扣猫。
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: git
  repo: git@github.com:judasn/judasn.github.io.git
  branch: master
  
  • 編輯全局配置后我們需要重新部署:
    • 繼續(xù)在 Git Bash 中輸入命令:
    • 先清除掉已經(jīng)生成的舊文件:hexo clean
    • 再生成一次靜態(tài)文件:hexo generate
    • 在本地預(yù)覽下:hexo server
    • 本地沒問題之后菜循,Ctrl + C 停掉本地預(yù)覽,使用部署命令部署到 Github 上:hexo deploy申尤,有彈出下面提示框癌幕,請輸入:yes
      • 確認(rèn)提交
    • 提交成功效果如下:
      • 提交成功
    • 訪問服務(wù)器地址進(jìn)行檢查:http://judasn.github.io,效果如下
      • 服務(wù)器效果
  • 通過上面幾次流程我們也就可以總結(jié):以后昧穿,每次發(fā)表新文章要部署都按這樣的流程來:
    • hexo clean
    • hexo generate
    • hexo deploy
  • 也因為這幾個命令太頻繁了勺远,所以又有了精簡版的命令:
    • hexo clean == hexo clean
    • hexo g == hexo generate
    • hexo s == hexo server
    • hexo d == hexo deploy

綁定域名

整合 IntelliJ IDEA 提高效率

  • 為了提交寫作效率薯酝,我個人建議使用 IntelliJ IDEA 作為 Markdown 編輯工具
    • IntelliJ IDEA 有各種各樣的快捷鍵支持你的操作
    • IntelliJ IDEA 可以快速地全文檢索項目所有的文件
    • 對 JavaScript半沽、CSS爽柒、HTML 等常見語言的良好支持,方便你修改你的主題
  • 如果你還不會使用 IntelliJ IDEA 或是 JetBrains 家其他產(chǎn)品者填,你可以看下我寫一整套教程:http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/
  • 現(xiàn)在我們用 IntelliJ IDEA 打開我們本地目錄:E:\git_work_space\hexo浩村,打開后效果如下圖:
    • IntelliJ IDEA 打開項目
  • 由于 IntelliJ IDEA 在 Windows 下的默認(rèn)終端是 cmd 不好用,我們現(xiàn)在需要重新修改下 IntelliJ IDEA 的終端工具幔托,把它指向我們習(xí)慣的 Git Bash穴亏,這樣方便操作,如下圖 gif 演示重挑。
    • IntelliJ IDEA 下操作 hexo
    • 如 gif 演示嗓化,我們可以 IntelliJ IDEA 里面安心寫文章、做發(fā)布等操作谬哀。
  • 為了更穩(wěn)定地使用 IntelliJ IDEA刺覆,在不修改主題的情況下,我們還需要這樣做:
    • IntelliJ IDEA 下操作 hexo
  • hexo 新文章內(nèi)容的開頭需要這樣定義:
    • categories:表示文章所屬分類
    • tags:表示文章所屬標(biāo)簽
---
title: 這是文章標(biāo)題
date: 2016-02-28 17:58:27
categories: [Hexo,IntelliJ IDEA]
tags: [Hexo,IntelliJ IDEA,Git,Github,Node.js]
---

結(jié)束語

  • 我希望從這一篇你也可以再一次了解到 IntelliJ IDEA 的美麗之處史煎。
  • 最后谦屑,歡迎再次來到 IntelliJ IDEA 的世界!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末篇梭,一起剝皮案震驚了整個濱河市氢橙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌恬偷,老刑警劉巖悍手,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異袍患,居然都是意外死亡坦康,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門诡延,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滞欠,“玉大人,你說我怎么就攤上這事肆良∩歌担” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵惹恃,是天一觀的道長夭谤。 經(jīng)常有香客問我,道長座舍,這世上最難降的妖魔是什么沮翔? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任陨帆,我火速辦了婚禮曲秉,結(jié)果婚禮上采蚀,老公的妹妹穿的比我還像新娘。我一直安慰自己承二,他們只是感情好榆鼠,可當(dāng)我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著亥鸠,像睡著了一般妆够。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上负蚊,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天神妹,我揣著相機與錄音,去河邊找鬼家妆。 笑死鸵荠,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的伤极。 我是一名探鬼主播蛹找,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼哨坪!你這毒婦竟也來了庸疾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤当编,失蹤者是張志新(化名)和其女友劉穎届慈,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凌箕,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡拧篮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了牵舱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片串绩。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖芜壁,靈堂內(nèi)的尸體忽然破棺而出礁凡,到底是詐尸還是另有隱情,我是刑警寧澤慧妄,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布顷牌,位于F島的核電站,受9級特大地震影響塞淹,放射性物質(zhì)發(fā)生泄漏窟蓝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一饱普、第九天 我趴在偏房一處隱蔽的房頂上張望运挫。 院中可真熱鬧状共,春花似錦、人聲如沸谁帕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽匈挖。三九已至碾牌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間儡循,已是汗流浹背舶吗。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留择膝,地道東北人裤翩。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像调榄,于是被迫代替她去往敵國和親踊赠。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,700評論 2 354

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