blogdown用R做自己的网站

blogdown用R做自己的网站

徐静

最近一个月比较忙,一直没有时间更新自己的博客,各方面的原因都有,今天我给大家介绍一个比较好玩的R包:blogdown,这个包是谢益辉写的,主要用来生成静态的网页博客,通过Gitpage,Netlify等托管到网上。我的这个博客使用jekyll搭建的,其实在搭建这个博客时我就纠结是用jekyll还是blogdown去完成,最终选择的jekyll。今天在地铁上突然有个想法,想搭建一个自己家庭生活的博客,记录家庭生活的的点点滴滴,毕竟程序员,数据分析师,算法工程师还是要有自己的生活的,花了1个小时用R搭建了自己的生活博客。下面就把blogdown搭建博客的流程介绍一下。

blogdown非常简单易用,对于数据分析师而言,通过这种方式搭建自己的技术博客或共享分析报告都是非常OK的选择,整体来说他要比shiny简单很多。它主要依托于hugo和Rstudio及git,所以在使用blogdown前除了安装这个吧之外还要安装hugo和Rstudio及git安装好。

rstudio配置

大家尽量安装最新版本的RStudio, v1.1.383以后的版本才支持我的如下操作。安装好上述软件后,需要对rstudio进行一下简单配置:

  • Tools -> Global Options -> Sweave -> Weave Rnw files using:knitr
  • Tools -> Global Options -> Sweave -> Typeset LaTex into PDF using:XeLaTeX
  • Tools -> Global Options -> Git/SVN -> Git executable:

安装blogdown和hugo

安装blogdown:

install.packages('blogdown')

安装hugo

blogdown::install_hugo()

如果hugo安装不成功,可以自行下载安装

# 注意这里是三个冒号
blogdown:::install_hugo_bin("D:/hugo.exe")

同时可以通过一些命令查看hugo的版本。

用github创建repository

该部分比较简单略过

blogdown建站

谢大神在blogdown中指定了默认的blog的版本,你也可以通过`blogdown::install_theme(theme = ‘XX/XX’)去下载GitHub上的其他Hugo模板,相关模版可以在[3]中找到,但是遗憾的是本人发现好多模板我在我托管到netlify的过程中并不能正常渲染,在blogdown的官方文档中也提到,并没有尝试所有的Hugo主题,如有问题可以在留言区共同讨论完成。

那我们这一个环节就尝试一下我们我们自己下载的hugo主题去部署。读者向后站,我要看是blogdown建站了!

步骤如下:

  • 现在回到rstudio,File -> New Project -> Version Control -> Git,然后填写Repository URL:https://github.com/yourGithubName/domainname.com,Project directory name应该自动就生成了,可以选择一个合适的文件夹存放,点击Create Project创建项目。

  • 设置gitignore

打开rstudio右下角的Files标签,点击.gitignore文件,改成下面这样吧(copy Yihui的):


.Rproj.user 
.Rhistory 
.RData
.Ruserdata
public
static/figures
blogdown

  • 初始化blogdown

打开:File -> New Project -> New Directory -> Website using blogdown

  • 我选择的是Air这个主题,`blogdown::install_theme(theme = ‘syui/hugo-theme-air’) 稍等片刻

  • blogdown::serve_sit()blogdown::build_site(local=TRUE) 运行blog

  • 如果正常运行,OK托管到GitHub就OK了

下面展示一下这个主题

  • 可以通过点击菜单Help下面的Addins,这次我们点击New Post,就会弹出画面,Filename处会自动帮你填写为Title处的内容,Filename和Slug还是建议使用字母,尤其是Filename,如果博文里面不需要用到R语言的代码计算结果生成图表的话,Format处就选择Markdown格式,这可以省去一些系统生成的步骤,ok,点击Done,就会在/content/post文件夹下面生成一个文件名为2000-01-01-my-first-blog.Rmd这样的文件了,content文件夹下面的文件就是博客的文章了。

这个时候就可以用markdown格式专注于写作了。

netlify部署

这一部分就比较简单的,但是一定要注意,hugo版本的设置,在部署的过程中,本人也踩过不少坑,现在这种复杂的hugo主题,在netlify的渲染仍然不成功,不知道是blogdown的原因还是netlify的原因。

在这里我想说的是我们同样可以依托github做线上部署,但是在官方文档中,谢大神还是推荐大家使用netlify做部署,除了hugo之外netlify同样也可以部署jekyll。 一句话我喜欢。

部署好之后我们可以修改域名,同时我们也可以设置自己购买的私有域名,这样看起来就高大上很多了。关于部署的相关内容可以参考[1][2]

博客展示

遗憾的是Air主题我并没有部署成功,只是用了这里的默认主题,可以看看部署的效果

点这里

参考内容

[1].https://mp.weixin.qq.com/s/bULo3iv__f-64B_IMsPsnw

[2].https://bookdown.org/yihui/blogdown/

[3].https://themes.gohugo.io/

[4].https://nuannuan.netlify.com/

Author face

徐静

数据科学从业者,数据分析师. 善于用数据科学的工具透析业务,模型的线上化部署,网络爬虫及前端可视化. 喜欢研究机器学习,深度学习及相关软件实现.目前自己还是小白一个,希望多多学习.

最近发表的文章