hugo搭建github博客过程

2016年10月12日

安装

1.安装hugo

hugo是一个快速的静态网站引擎,使用Go语言开发,可以用Markdown格式的文章生成一个完整的静态网站,然后托管到自己的用户名.Github.io的Github仓库中,实现一个静态站点,一般用于博客或者项目主页等,先从官网下载(mac机器上可以直接用brew install hugo) 安装完成hugo,然后使用huge new site blog-name,进入blog-name可以看到如下结构: ▸ archetypes/

▸ content/

▸ layouts/

▸ static/

config.toml

添加about.md到目录中,执行命令:hugo new about.md,产生的about.md存在content文件夹中

添加第一条blog文件到目录中,执行命令:hugo new post/你的blog的文件名.md(注意:hugo命令必须在根目录执行,否则会报错)

2.安装主题

hugo可以自己配制主题,在blog-name文件夹中创建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/"# 站点的名称LanguageCode ="zh-CN"# 使用编码HasCJKLanguage =trueTitle ="linkxzhou的博客"# 大标题Theme ="none"# 暂无pygmentsStyle ="default"pygmentsUseClasses =trueRSSUri ="feed.xml"# rss的订阅数据[Author]  Name ="linkxzhou"# 作者[Params]  AuthorHomepage ="http://linkxzhou.github.io"Author ="linkxzhou"BottomIntroduce ="不负春光,野蛮生长"Description =""Subtitle ="一个追求技术的偏执者"Imglogo ="img/logo.svg"AuthorImg ="img/author.jpg"# 日期时间格式DateFormat ="2006年01月02日"MonthFormat ="2006年01月"FancyBox =true

启动

测试环境查看blog:

hugo server --theme=hugo-pacman-theme --buildDrafts --watch -d ./dev--theme 使用主题,对应到themes文件夹目录--buildDrafts 构建暂时不发布的markdown,根据markdown的draft判断(true-- 草稿文件,false-- 生成站点文件)--watch 监听文件变化,文件变化后网页上自动变化-d 目标文件 生成对应的发布github目录文件‘// 其他命令--port=80// 绑定端口--bind=0.0.0.0// 绑定ip

生成文件到github发布目录命令:

sudo hugo server --theme=hugo-pacman-theme --baseUrl='https://linkxzhou.github.io'--watch --port=443-d./public

发布文件中犹豫baseUrl需要替换为github路径,所以需要注意几点: 1.添加baseUrl,如:–baseUrl=‘https://linkxzhou.github.io'

2.url修改为https,现在github都是https的链接

3.设定对应的绑定端口,http设定port=80,https设定port=443

发布github

1.创建github目录文件

在github中New reository,用户名一定要用:你的注册用户名.github.io,其他无需修改,然后点击Create repository即可

2.github本地文件提交

// 1.设置配置git config --globaluser.name"你的注册用户名"git config --globaluser.email"你的邮箱"git config --globalcolor.ui auto// 2.设置生成的ssh keyssh-keygen -t rsa -C"你的邮箱"要求输入存储id_rsa的目录,接着是输入密码,这个密码可以与github的不同,过程中确认即可,最后会出现一个随机图形,说明生成SSH密匙成功,这样需要到刚刚的存储目录下打开id_rsa.pub复制里面的内容,到你的github页面上->点击右上角头像旁三角->settings->SSH keys->add SSH key->黏贴刚刚复制的内容保存// 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可能存在一些未知问题,但是一般能找到相应的答案(在此不详细解答)

hugo写markdown文件规范

文件头部格式:

+++Categories =["github"]Tags = ["github","开发者","go"]date ="2017-02-12T18:20:42+08:00"title ="hugo搭建github博客过程"description ="111"+++

1.title 文章名称

2.description 文章详细介绍

3.tag 标签

4.categories 文章分类

在 +++ 与 +++ 中写完规范以后,然后可以添加markdown格式的正文内容(markdown格式文件暂时不介绍,可以参考https://segmentfault.com/markdown)

注意:

可能大家有自己的公众号,那么如何将markdown转换为微信的编辑格式呢?

最快捷的方法:使用http://mahua.jser.me,在右侧生成对应的文章以后直接复制到微信的文章中,可以不改变样式;

比较完整的方法:参考http://www.jianshu.com/p/b09125018c04

附录

(1)git clone 命令

git clone <版本库的网址>git clone <版本库的网址> <本地目录名># 支持多种协议$ 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# 命令列出所有远程主机git remote -v# 远程主机的网址git remote show <主机名># 查看该主机的详细信息

(3)git fetch

git fetch <远程主机名> <分支名>#取回所有分支(branch)的更新git fetch origin master#取回origin主机的master分支git branch#命令的-r选项,可以用来查看远程分支,-a选项查看所有分支git checkout -b newBrach origin/master#取回远程主机的更新以后,可以在它的基础上,使用git checkout命令创建一个新的分支git merge origin/master 或者 git rebase origin/master# 在本地分支上合并远程分支

(4)git pull

git pull <远程主机名> <远程分支名>:<本地分支名>#git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并git pull originnext:master#取回origin主机的next分支,与本地的master分支合并# 在某些场合,Git会自动在本地分支与远程分支之间,建立一种追踪关系(tracking);比如,在git clone的时候,所有本地分支默认与远程主机的同名分支,建立追踪关系,也就是说,本地的master分支自动"追踪"origin/master分支;# 加上参数 -p 就会在本地删除远程已经删除的分支$ git pull -p$ git fetch --prune origin$ git fetch -p

(5)git push

git push <远程主机名> <本地分支名>:<远程分支名># 如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支git push origin:master# 等同于 git push origin --delete mastergit push -u origin master# 使用-u选项指定一个默认主机# 如果远程主机的版本比本地版本更新,推送时Git会报错,要求先在本地做git pull合并差异,然后再推送到远程主机。这时,如果你一定要推送,可以使用--force选项git push --force origin# git push不会推送标签(tag),除非使用--tags选项git push origin --tags


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容

  • 前言 Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能。 Git有很多优势,其中之一就是远程操...
    Simon0903阅读 302评论 0 0
  • Git有很多优势,其中之一就是远程操作非常简便。本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就...
    bondPang阅读 1,314评论 0 6
  • 1.参与一个开源项目,一定要从自己的帐号下克隆版本库,这样你才能推送修改! 2.Repository 版本库,又名...
    sys1211阅读 296评论 0 2
  • 1.GitHub 有什么用 学习优秀的开源项目开源社区一直有一句流行的话叫「不要重复发明轮子」,某种意义上正是因为...
    Clemente阅读 1,422评论 1 14
  • 1.git clone 远程操作的第一步,通常是从远程主机克隆一个版本库,这时就要用到git clone命令。 $...
    右耳Deng阅读 375评论 1 0