HuGo+ github个人博客搭建(步骤一:初始化一个hugo项目)

HuGo+ github个人博客搭建(步骤一:初始化一个hugo项目)

前言:看过许多的博客,也看过许多个人博客搭建教程,但大多数教程如行云流水,讲解简单(也许这本身就是一个很简单的工程)。多数的搭建方式以及使用工具也各不相同,直到自己看到了一篇比较酷炫和牛逼的个人博客后(牛人地址:http://blog.coderzh.com/),我决定要使用Hugo语言和git来搭建个人博客,从开始搭建到搭建完成,我都会写博客记录下来,供大家参考学习:
1,Hugo语言介绍:

Hugo语言官方中文文档地址:http://www.gohugo.org/
Hugo官方主页:https://gohugo.io/

Hugo是一个用Go语言编写的静态网站生成器,它使用起来非常简单,相对于Jekyll复杂的安装设置来说,Hugo仅需要一个二进制文件hugo(hugo.exe)即可轻松用于本地调试和生成静态页面。Hugo生成静态页面的效率很高,我的260多篇博客文章生成几乎是瞬间完成的,而之前用Jekyll需要等待10秒左右。Hugo自带watch的调试模式,可以在我修改MarkDown文章之后切换到浏览器,页面会检测到更新并且自动刷新,呈现出最终效果,能极大的提高博客书写效率。再加上Hugo是使用Go语言编写,已经没有任何理由不使用Hugo来代替Jekyll作为我的个人博客站点生成器了。

//注意 需要下载下来 使用 (请自行配置cmd hugo命令)
Hugo二进制下载地址:https://github.com/spf13/hugo/releases

2,Action:开始创建一个hugo项目:

下载下来后,只有一个叫hugo或者hugo.exe的程序,接下来开始生成自己的站点:

$ hugo new site mysite

然后hugo会自动生成这样一个目录结构:

  ▸ archetypes/
  ▸ content/
  ▸ layouts/
  ▸ static/
    config.toml

简要介绍一下,config.toml是网站的配置文件,这是一个TOML文件,全称是Tom’s Obvious, Minimal Language,这是它的作者GitHub联合创始人Tom Preston-Werner 觉得YAML不够优雅,捣鼓出来的一个新格式。如果你不喜欢这种格式,你可以将config.toml替换为YAML格式的config.yaml,或者json格式的config.json。hugo都支持。

content目录里放的是你写的markdown文章,layouts目录里放的是网站的模板文件,static目录里放的是一些图片、css、js等资源。

进入生成的site目录:

$ cd mysite

创建一个页面:

$ hugo new about.md

如果是博客日志,最好将md文件放在content的post目录里。

$ hugo new post/first.md

执行完后,会在content/post目录自动生成一个MarkDown格式的first.md文件。

下载 所有主题:

$ git clone --recursive https://github.com/spf13/hugoThemes themes

我尝试过,也失败过,且从未成功一次性将所有的模板下载下来。所以,我们还是老老实实只下载其中一个模板来看看效果吧:

$ cd themes
$ git clone https://github.com/spf13/hyde.git

启动本地调试:

$ hugo server --theme=hyde --buildDrafts --watch

浏览器里打开:http://127.0.0.1:1313
效果如图:

这里写图片描述

–watch或者-w 选项打开的话,将会监控到文章的改动从而自动去刷新浏览器,不需要自己手工去刷新浏览器,非常方便。

如果你看了上面的说明已经有冲动去试一试Hugo了,我的目的也算达到了,接下来你需要的只是查看官方的说明文档就够了,所以具体的一些设置我就不重复了。

官方文档:https://gohugo.io/overview/introduction/

皮肤列表:https://github.com/spf13/hugoThemes

遇到的问题
默认的ServerSide的代码着色会有问题,有些字的颜色会和背景色一样导致看不见。
解决方法:使用ClientSide的代码着色方案即可解决。(见:Client-side Syntax Highlighting)
URL全部被转成了小写,如果是旧博客迁移过来,将是无法接受的。
解决方法:我是直接改了Hugo的代码,将URL强制转换为小写那段逻辑去掉了,之后考虑在config里提供配置开关,然后给Hugo提一个PR。如果是Windows用户可以直接https://github.com/coderzh/ConvertToHugo 下载到我修改后的版本myhugo.exe。
Update(2015-09-03): 已经提交PR并commit到Hugo,最新版本只需要在config里增加:
disablePathToLower: true
文章的内容里不能像Jekyll一样可以内嵌代码模板了。最终会生成哪些页面,有一套相对固定而复杂的规则,你会发现想创建一个自定义界面会非常的困难。
解决方法:无,看文档,了解它的规则。博客程序一般也不需要特别的自定义界面。Hugo本身已经支持了类似posts, tags, categories等内容聚合的页面,同时支持rss.xml,404.html等。如果你的博客程序复杂到需要其他的页面,好好想想是否必须吧。
如何将rss.xml替换为feed.xml?
解决方法:在config.yaml里加入: rssuri: “feed.xml”

参考:http://www.gohugo.org/post/coderzh-hugo/

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值