2016年10月12日
安裝
1.安裝hugo
hugo是一個(gè)快速的靜態(tài)網(wǎng)站引擎祠挫,使用Go語言開發(fā)筏餐,可以用Markdown格式的文章生成一個(gè)完整的靜態(tài)網(wǎng)站甘磨,然后托管到自己的用戶名.Github.io的Github倉庫中叠纷,實(shí)現(xiàn)一個(gè)靜態(tài)站點(diǎn)窖贤,一般用于博客或者項(xiàng)目主頁等愕贡,先從官網(wǎng)下載(mac機(jī)器上可以直接用brew install hugo) 安裝完成hugo草雕,然后使用huge new site blog-name,進(jìn)入blog-name可以看到如下結(jié)構(gòu): ? archetypes/
? content/
? layouts/
? static/
config.toml
添加about.md到目錄中固以,執(zhí)行命令:hugo new about.md墩虹,產(chǎn)生的about.md存在content文件夾中
添加第一條blog文件到目錄中,執(zhí)行命令:hugo new post/你的blog的文件名.md(注意:hugo命令必須在根目錄執(zhí)行憨琳,否則會(huì)報(bào)錯(cuò))
2.安裝主題
hugo可以自己配制主題诫钓,在blog-name文件夾中創(chuàng)建themes,然后將主題文件夾放到themes中
目前hugo的github收錄了很多主題列表:https://github.com/spf13/hugoThemes篙螟,可以git clone 你想要的主題
目前我的blog使用的主題:git clonehttps://github.com/coderzh/hugo-pacman-theme
3.修改config.toml配置
hugo的配置可以使用json(config.json)菌湃,yaml(config.yaml)和toml(config.toml),一般都采用toml遍略,本博客配置如下:
BaseURL ="http://linkxzhou.github.io/"# 站點(diǎn)的名稱LanguageCode ="zh-CN"# 使用編碼HasCJKLanguage =trueTitle ="linkxzhou的博客"# 大標(biāo)題Theme ="none"# 暫無pygmentsStyle ="default"pygmentsUseClasses =trueRSSUri ="feed.xml"# rss的訂閱數(shù)據(jù)[Author]? Name ="linkxzhou"# 作者[Params]? AuthorHomepage ="http://linkxzhou.github.io"Author ="linkxzhou"BottomIntroduce ="不負(fù)春光惧所,野蠻生長"Description =""Subtitle ="一個(gè)追求技術(shù)的偏執(zhí)者"Imglogo ="img/logo.svg"AuthorImg ="img/author.jpg"# 日期時(shí)間格式DateFormat ="2006年01月02日"MonthFormat ="2006年01月"FancyBox =true
啟動(dòng)
測(cè)試環(huán)境查看blog:
hugo server --theme=hugo-pacman-theme --buildDrafts --watch -d ./dev--theme 使用主題,對(duì)應(yīng)到themes文件夾目錄--buildDrafts 構(gòu)建暫時(shí)不發(fā)布的markdown绪杏,根據(jù)markdown的draft判斷(true-- 草稿文件下愈,false-- 生成站點(diǎn)文件)--watch 監(jiān)聽文件變化,文件變化后網(wǎng)頁上自動(dòng)變化-d 目標(biāo)文件 生成對(duì)應(yīng)的發(fā)布github目錄文件‘// 其他命令--port=80// 綁定端口--bind=0.0.0.0// 綁定ip
生成文件到github發(fā)布目錄命令:
sudo hugo server --theme=hugo-pacman-theme --baseUrl='https://linkxzhou.github.io'--watch --port=443-d./public
發(fā)布文件中猶豫baseUrl需要替換為github路徑蕾久,所以需要注意幾點(diǎn): 1.添加baseUrl势似,如:–baseUrl=‘https://linkxzhou.github.io'
2.url修改為https,現(xiàn)在github都是https的鏈接
3.設(shè)定對(duì)應(yīng)的綁定端口僧著,http設(shè)定port=80叫编,https設(shè)定port=443
發(fā)布github
1.創(chuàng)建github目錄文件
在github中New reository,用戶名一定要用:你的注冊(cè)用戶名.github.io霹抛,其他無需修改搓逾,然后點(diǎn)擊Create repository即可
2.github本地文件提交
// 1.設(shè)置配置git config --globaluser.name"你的注冊(cè)用戶名"git config --globaluser.email"你的郵箱"git config --globalcolor.ui auto// 2.設(shè)置生成的ssh keyssh-keygen -t rsa -C"你的郵箱"要求輸入存儲(chǔ)id_rsa的目錄,接著是輸入密碼杯拐,這個(gè)密碼可以與github的不同霞篡,過程中確認(rèn)即可世蔗,最后會(huì)出現(xiàn)一個(gè)隨機(jī)圖形,說明生成SSH密匙成功朗兵,這樣需要到剛剛的存儲(chǔ)目錄下打開id_rsa.pub復(fù)制里面的內(nèi)容污淋,到你的github頁面上->點(diǎn)擊右上角頭像旁三角->settings->SSH keys->add SSH key->黏貼剛剛復(fù)制的內(nèi)容保存// 3.初始化與提交githubcdpublicgit initgit remote add origin https://github.com/用戶名/用戶名.github.io.gitgit add -Agit commit -m"提交注釋"git push -u origin master// 4.修改文件提交git add -Agit commit -m"提交注釋"git push -u origin master
注意:提交github可能存在一些未知問題,但是一般能找到相應(yīng)的答案(在此不詳細(xì)解答)
hugo寫markdown文件規(guī)范
文件頭部格式:
+++Categories =["github"]Tags = ["github","開發(fā)者","go"]date ="2017-02-12T18:20:42+08:00"title ="hugo搭建github博客過程"description ="111"+++
1.title 文章名稱
2.description 文章詳細(xì)介紹
3.tag 標(biāo)簽
4.categories 文章分類
在 +++ 與 +++ 中寫完規(guī)范以后余掖,然后可以添加markdown格式的正文內(nèi)容(markdown格式文件暫時(shí)不介紹寸爆,可以參考https://segmentfault.com/markdown)
注意:
可能大家有自己的公眾號(hào),那么如何將markdown轉(zhuǎn)換為微信的編輯格式呢盐欺?
最快捷的方法:使用http://mahua.jser.me赁豆,在右側(cè)生成對(duì)應(yīng)的文章以后直接復(fù)制到微信的文章中,可以不改變樣式冗美;
比較完整的方法:參考http://www.reibang.com/p/b09125018c04
附錄
(1)git clone 命令
git clone <版本庫的網(wǎng)址>git clone <版本庫的網(wǎng)址> <本地目錄名># 支持多種協(xié)議$ git clone http[s]://example.com/path/to/repo.git/$ git clonessh://example.com/path/to/repo.git/$ git clonegit://example.com/path/to/repo.git/$ git clone /opt/git/project.git$ git clonefile:///opt/git/project.git$ git clone ftp[s]://example.com/path/to/repo.git/$ git clonersync://example.com/path/to/repo.git/
(2)git remote
git remote# 命令列出所有遠(yuǎn)程主機(jī)git remote -v# 遠(yuǎn)程主機(jī)的網(wǎng)址git remote show <主機(jī)名># 查看該主機(jī)的詳細(xì)信息
(3)git fetch
git fetch <遠(yuǎn)程主機(jī)名> <分支名>#取回所有分支(branch)的更新git fetch origin master#取回origin主機(jī)的master分支git branch#命令的-r選項(xiàng)魔种,可以用來查看遠(yuǎn)程分支,-a選項(xiàng)查看所有分支git checkout -b newBrach origin/master#取回遠(yuǎn)程主機(jī)的更新以后粉洼,可以在它的基礎(chǔ)上节预,使用git checkout命令創(chuàng)建一個(gè)新的分支git merge origin/master 或者 git rebase origin/master# 在本地分支上合并遠(yuǎn)程分支
(4)git pull
git pull <遠(yuǎn)程主機(jī)名> <遠(yuǎn)程分支名>:<本地分支名>#git pull命令的作用是,取回遠(yuǎn)程主機(jī)某個(gè)分支的更新属韧,再與本地的指定分支合并git pull originnext:master#取回origin主機(jī)的next分支安拟,與本地的master分支合并# 在某些場(chǎng)合,Git會(huì)自動(dòng)在本地分支與遠(yuǎn)程分支之間宵喂,建立一種追蹤關(guān)系(tracking);比如糠赦,在git clone的時(shí)候,所有本地分支默認(rèn)與遠(yuǎn)程主機(jī)的同名分支樊破,建立追蹤關(guān)系愉棱,也就是說,本地的master分支自動(dòng)"追蹤"origin/master分支哲戚;# 加上參數(shù) -p 就會(huì)在本地刪除遠(yuǎn)程已經(jīng)刪除的分支$ git pull -p$ git fetch --prune origin$ git fetch -p
(5)git push
git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名># 如果省略遠(yuǎn)程分支名奔滑,則表示將本地分支推送與之存在"追蹤關(guān)系"的遠(yuǎn)程分支git push origin:master# 等同于 git push origin --delete mastergit push -u origin master# 使用-u選項(xiàng)指定一個(gè)默認(rèn)主機(jī)# 如果遠(yuǎn)程主機(jī)的版本比本地版本更新,推送時(shí)Git會(huì)報(bào)錯(cuò)顺少,要求先在本地做git pull合并差異朋其,然后再推送到遠(yuǎn)程主機(jī)。這時(shí)脆炎,如果你一定要推送梅猿,可以使用--force選項(xiàng)git push --force origin# git push不會(huì)推送標(biāo)簽(tag),除非使用--tags選項(xiàng)git push origin --tags