11
我正在嘗試爲R Markdown文件寫一個Jekyll轉換器。我創建了RMarkdownConverter.rb
,並將其放在我的_plugins
目錄中。我已經證實其他插件正在工作,但這不是。我也看不到任何錯誤信息,包括我自己提供的信息。看來這沒有被使用。但是,Jekyll正在爲我的.Rmd
文件生成一個HTML文件,但只是將R卡盤處理爲代碼卡盤。任何幫助或想法將不勝感激。Jekyll Converter for R Markdown
RMarkdownConverter.rb
文件:
module Jekyll
class RMarkdownConverter < Converter
safe true
priority :low
def setup
STDERR.puts "Setting up R Markdown..."
return if @setup
require 'rinruby'
@setup = true
rescue
STDERR.puts 'do `gem install rinruby`'
raise FatalException.new("Missing dependency: rinruby")
end
def matches(ext)
ext =~ /Rmd/i
end
def output_ext(ext)
'.html'
end
def convert(content)
setup
STDERR.puts "Using R Markdown..."
R.eval "require(knitr)"
R.eval "render_markdown(strict=TRUE)"
R.assign "content", content
STDERR.puts content
R.eval "out <- knit(text=content)"
R.eval "print(out)"
end
end
end
我的第一個R降價後的內容:
---
layout: post
title: Using (R) Markdown, Jekyll, and Github for Blogging
published: true
tags: R R-Bloggers Jekyll github
type: post
status: publish
---
First, we need to install [RinRuby](https://sites.google.com/a/ddahl.org/rinruby-users/) to call R from Ruby. In the terminal, execute:
gem install rinruby
First R chuck:
```{r}
2 + 2
```
它也出現,如果你添加'markdown_ext:markdown'到'_config.yml',Jekyll會處理'rmd'文件。但是,這也意味着'md'文件不會被處理。對我來說不是什麼大問題,因爲我一直在使用'.markdown'文件擴展名。 – jbryer
應該有一種方法可以在不調用已知速度較慢的'rinruby'的情況下執行此操作。我正在探索如何直接使用shell命令來處理Rmd文件,但是knitr使用的反引號會使shell執行失敗。 – Ramnath