Próbuję napisać konwerter Jekyll dla plików R Markdown. Stworzyłem RMarkdownConverter.rb
i umieściłem go w moim katalogu _plugins
. Sprawdziłem, że inne wtyczki działają, ale ten nie jest. Nie widzę też żadnych komunikatów o błędach, w tym tych, które sam wkładam. Wygląda na to, że to nie jest używane. Jednak Jekyll generuje plik HTML dla mojego pliku .Rmd
, ale po prostu przetwarza uchwyt R jako uchwyt kodowy. Każda pomoc lub przemyślenia zostaną docenione.Konwerter Jekyll dla R Markdown
RMarkdownConverter.rb
file:
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
Zawartość mojej pierwszej R Markdown postu:
---
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
```
Wygląda również na to, że jeśli dodasz 'markdown_ext: markdown' do' _config.yml' Jekyll przetworzy pliki 'rmd'. Oznacza to jednak, że pliki 'md' nie będą przetwarzane. Dla mnie to nic wielkiego, ponieważ korzystam z rozszerzeń plików ".downdown". – jbryer
Powinien być sposób na zrobienie tego bez wywoływania 'rinruby', która jest znana jako powolna. Zastanawiam się, jak użyć polecenia powłoki bezpośrednio do przetwarzania plików Rmd, jednak backticks używane przez knitr uruchamia wykonanie powłoki. – Ramnath