Blogdown
- 现实情况:Hexo blog已经搭建很久,不想再新建一个博客了;
- 需求:
- 只是想在某些post里体现R代码和结果,所以并不想所有的post都在R Studio里完成。Sublime Text+markdown还是首选;
- 想让post显示在Hexo主页;
- 想在博客搜索栏(右上角)里可以搜到R project相关的内容,因此
hexo-pdf
插件就不是很适用; - 排版尽量美观(
knit
生成的html
十分朴素);
- 困难:blogdown似乎不适用我的情况。如果有人知道可以用blogdown解决的方案,可以邮件给我或者在下方留言。十分欢迎~
Workflow 1 Rmd
->md
->Hexo
在你的Rmd
文件YAML head里加入以下代码:
1 | --- |
就可以使用Knit
直接生成.md
文件。然后复制到Hexo的source/_post
文件夹里。但是生成的.md
文件并不是特别理想,还是需要再寄手动修改,比如加入YAML head,修改title和subtitle等等。可参考以下文章:
Workflow 2 Rmd
->html
->layout: false
直接用knit
本身默认的功能生成html
文件,然后复制html
文件到source
文件下。但是仍然需要修改该html
,在文件开始加入
1 | --- |
这样Hexo就不会渲染该html
文件。但是缺点是在Hexo博客的首页无法显示这个文件,需要在输入栏里输入URL才能够显示这个网页。URL为http://<your blog>/<name of html>.html
。
可参考以下文章:
Workflow 3 Rmd
->html
->raw code
直接用knit
本身默认的功能生成html
文件,打开该文件,复制html
代码到你新建post的.md
文件里,只是在html
代码前后需要加入几行代码,如下:
1 | {% raw %} |
但是亲测,效果并不是特别理想。整个排版并不美观。
可参考以下文章:
Workflow 4 Rmd
->html
->iframe
这是目前为止,我见过的最佳方案,既能够让你的post显示在主页,又能够在博客的搜索栏里搜到你的R project的内容。
依然直接用knit
本身默认的功能生成html
文件,然后复制html
文件到source
文件下。修改该html
,在文件开始加入
1 | --- |
在你新建post的.md
文件里插入
1 | <iframe src="http://<your blog>/<name of html>.html" width="700" height="800"></iframe> |
然后效果如下:
感觉挺不错~希望可以对有同样现实情况、需求和困难的朋友一点帮助。
可参考以下文章:
R
->html
另外R Studio里是可以直接将.R
文件里的souce code转成html
或者pdf
的,不用再新建Rmd
文件。代码如下:
1 | library('rmarkdown') |
这样的话,R
->html
->Hexo的工作流就很easy啦!