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

image.png

主要记录:

  • .Site.BaseURL 不起作用, relURLabsURL 也不起作用时,可参考使用 params 方法解决。
  • 修复原博客 url 的一些 bug,shen.bioinit.com 部分链接被直接写死,想要复用的需要重新定义。

CentOS 7 安装 Go

  1. $ wget https://dl.google.com/go/go1.12.7.linux-amd64.tar.gz
  2. $ tar zvxf go1.12.7.linux-amd64.tar.gz
  3. $ mv go go-1.12.7
  4. $ vi ~/.bashrc
  5. # 在文件最后一行加入以下内容
  6. export GOPATH=/ifs1/go-projects #这个是你自己开发的GO代码位置,以后开发可以放这个目录下
  7. export GOROOT=/usr/local/software/go-1.12.7 #这个就是我们安装的位置了。
  8. export PATH=$PATH:$GOROOT/bin #go语言一些常用的命令引入PATH环境变量
  9. $ go env # 查看 Go 的一些环境配置

CentOS 7 安装 Hugo

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

启动 hugo 博客服务

  1. shenweiyan@ecs-steven 15:04:06 ~/shenweiyan/home
  2. $ hugo # 渲染生成静态站点文件
  3. | ZH
  4. +------------------+-----+
  5. Pages | 159
  6. Paginator pages | 0
  7. Non-page files | 2
  8. Static files | 44
  9. Processed images | 0
  10. Aliases | 0
  11. Sitemaps | 1
  12. Cleaned | 0
  13. Total in 203 ms
  14. $ hugo server --baseUrl=120.77.xx.xx --bind=0.0.0.0 # 启动本地预览服务

一些问题

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

  1. Building sites
  2. 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.
  3. 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:
  4. {{ 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

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

  1. <!-- 修改前 -->
  2. {{ if .RSSLink }}
  3. <link href="{{ .RSSLink | relURL }}" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" />
  4. {{ end }}
  5. <!-- 修改后 -->
  6. {{ with .OutputFormats.Get "RSS" }}
  7. <link href="{{ .RelPermalink | relURL }}" rel="alternate" type="application/rss+xml" title="{{ $.Title }}" />
  8. {{ end }}

一些资料

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