有關(guān)github搭建免費(fèi)博客的方法已有很多,再次贅述的目的是為了記錄自己在搭建時所遇到的諸多比較麻煩的問題,方便以后查閱.
1. 準(zhǔn)備工作(github,git bash,node.js,npm,Next主題)
github
新建一個名稱為github用戶名.github.io
的倉庫,作為存放博客文件和代碼的地方git
在自己的計算機(jī)上安裝git,用于將寫好的博客和配置文件推送到github的遠(yuǎn)程倉庫node.js
node.js是JavaScript的一種運(yùn)行環(huán)境,npm是包含在npm的,具體的下載可以百度-
npm
npm用來安裝hexo(簡潔高效的博客框架),在git bash使用以下命令安裝npm install -g hexo
-
hexo
在本地新建一個文件夾作為本地倉庫(在本地倉庫寫博客修改再推送到遠(yuǎn)程倉庫),在文件夾內(nèi)輸入以下命令hexo init
hexo的幾個常用命令 | 作用 |
---|---|
hexo clean | 清除緩存 |
hexo g | 生成靜態(tài)網(wǎng)頁 |
hexo s | 本地生成博客網(wǎng)站 |
hexo d | 部署到遠(yuǎn)程 |
2. Next主題配置
Next主題的安裝,建議去github上下載zip包,本地解壓放進(jìn)博客根目錄下的themes文件夾下,對應(yīng)的修改站點配置文件_config.yml
里的theme項為next(next是存放主題的文件名稱)
-
修改Next主題風(fēng)格
Next通過四種風(fēng)格可選,個人比較偏好最后一個,可以自己嘗試修改# Schemes # scheme: Muse # scheme: Mist # scheme: Pisces scheme: Gemini
-
菜單設(shè)置
Next默認(rèn)只有兩個菜單導(dǎo)航條,可以在主題配置文件中修改menu: home: / #主頁 categories: /categories #分類頁(需手動創(chuàng)建) about: /about #關(guān)于頁面(需手動創(chuàng)建) archives: /archives #歸檔頁 tags: /tags #標(biāo)簽頁(需手動創(chuàng)建) commonweal: /404.html #公益 404 (需手動創(chuàng)建)
手動創(chuàng)建是指,舉個例子,譬如要打開tags導(dǎo)航條,在git bash下運(yùn)行,
hexo new page "tags"
并修改/source/categories目錄下的index.md文件
title: tags date: 2015-09-29 14:47:21 type: "tags" ---
-
sitmap插件
Sitemap 可方便管理員通知搜索引擎他們網(wǎng)站上有哪些可供抓取的網(wǎng)頁,有助于讓別人更好地通過搜索到自己的博客安裝 npm install hexo-generator-sitemap --save
3. 評論系統(tǒng)Gitalk的配置使用
首先接癌,你得有一個Github賬號(這個就不多說了吧)蕊玷,下面邮利,打開這個鏈接,具體填法如下:
Application name //應(yīng)用名稱垃帅,隨便填
Homepage URL //沒有過多要求延届,可以填自己的博客地址
Application description //應(yīng)用描述,描述一下贸诚,無要求
Authorization callback URL //這個就有要求了方庭,填自己要使用Gitment的博客地址厕吉,不可亂填
對應(yīng)到主題配置文件下的gitalk
enable: true #指的是是否開啟Gitalk
ClientID: xxxxxx #之前的Client ID
ClientSecret: xxxxxxxxxxxx #之前的Client Secret
repo: gitalk #你要存放的項目名,下文會詳細(xì)再說
owner: geedme #這個項目名的擁有者(GitHub賬號或組織)
adminUser: geedme #管理員用戶械念,下文也會詳細(xì)講
ID: location.pathname #頁面ID头朱,不知道就默認(rèn)的就好了
labels: gitalk #GitHub issues的標(biāo)簽,下面會詳細(xì)說
perPage: 15 #每頁多少個評論
pagerDirection: last #排序方式是從舊到新(first)還是從新到舊(last)
createIssueManually: true #如果當(dāng)前頁面沒有相應(yīng)的 isssue 龄减,且登錄的用戶屬 于 admin项钮,則會自動創(chuàng)建 issue。如果設(shè)置為 true希停,則顯示一個初始化頁面烁巫,創(chuàng)建 issue 需要點擊 init 按鈕。
distractionFreeMode: false #是否啟用快捷鍵(cmd|ctrl + enter) 提交評論.
4. 推送遠(yuǎn)程倉庫的常見問題
deploy:
type: git
repository: git@github.com:xxx/xxx.github.io.git
branch: master