模仿 R 语言大神谢益辉,搭建了一个 Hugo+blogdown 的博客:https://shen.bioinit.com


image.png


主要记录:



CentOS 7 安装 Go


$ wget https://dl.google.com/go/go1.12.7.linux-amd64.tar.gz
$ tar zvxf go1.12.7.linux-amd64.tar.gz
$ mv go go-1.12.7

$ vi ~/.bashrc
# 在文件最后一行加入以下内容
export GOPATH=/ifs1/go-projects                #这个是你自己开发的GO代码位置,以后开发可以放这个目录下
export GOROOT=/usr/local/software/go-1.12.7    #这个就是我们安装的位置了。
export PATH=$PATH:$GOROOT/bin                  #go语言一些常用的命令引入PATH环境变量

$ go env        # 查看 Go 的一些环境配置



CentOS 7 安装 Hugo


$ wget https://github.com/gohugoio/hugo/releases/download/v0.54.0/hugo_0.54.0_Linux-64bit.tar.gz
$ tar zvxf hugo_0.54.0_Linux-64bit.tar.gz -C /usr/local/software/hugo-0.54.0
$ echo "export PATH=/usr/local/software/hugo-0.54.0:\$PATH" >>~/.bashrc
$ source ~/.bashrc



启动 hugo 博客服务


shenweiyan@ecs-steven 15:04:06 ~/shenweiyan/home
$ hugo      # 渲染生成静态站点文件

                   | ZH
+------------------+-----+
  Pages            | 159
  Paginator pages  |   0
  Non-page files   |   2
  Static files     |  44
  Processed images |   0
  Aliases          |   0
  Sitemaps         |   1
  Cleaned          |   0

Total in 203 ms


$ hugo server --baseUrl=120.77.xx.xx --bind=0.0.0.0     # 启动本地预览服务



一些问题


问题:

hugo-ivy 主题在 0.55 后版本的 Hugo 中 RSS 无法使用,并且在编译时会有如下警告:


Building sites … 
WARN 2019/08/13 09:03:08 Page's .URL is deprecated and will be removed in a future release. Use .Permalink or .RelPermalink. If what you want is the front matter URL value, use .Params.url.
WARN 2019/08/13 09:03:08 Page's .RSSLink is deprecated and will be removed in a future release. Use the Output Format's link, e.g. something like:
    {{ with .OutputFormats.Get "RSS" }}{{ .RelPermalink }}{{ end }}.



方法:


  1. 网络部分关于将 .URL 相关的文件中 .URL 改成 .Permalink 以解决 .URL 的上述报错的做法(参考:《LeaveIt以支持最新版Hugo),经测试如果针对 Menu 级别的 html 模板会引发其他错误;而且虽然 hugo 更新到了 0.56.3,但官方文档示例还在使用 .URL ,参考 https://github.com/gohugoio/hugo/issues/5835


  1. 修改包含 .RSSLink 相关的文件,如下:


<!-- 修改前 -->
{{ if .RSSLink }}
    <link href="{{ .RSSLink | relURL }}" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" />
{{ end }}

<!-- 修改后 -->
{{ with .OutputFormats.Get "RSS" }}
    <link href="{{ .RelPermalink | relURL }}" rel="alternate" type="application/rss+xml" title="{{ $.Title }}" />
{{ end }}


一些资料


记录一下,搭建部署过程中参考的一些资料: