Sto provando a scrivere un convertitore di Jekyll per i file R Markdown. Ho creato RMarkdownConverter.rb
e l'ho inserito nella mia directory _plugins
. Ho verificato che altri plugin funzionano ma questo non lo è. Inoltre, non vedo alcun messaggio di errore, compresi quelli che ho inserito. Sembra che non venga usato. Tuttavia, Jekyll sta generando un file HTML per il mio file .Rmd
ma semplicemente elabora il chuck R come chuck del codice. Qualsiasi aiuto o pensiero sarebbe molto apprezzato.Jekyll Converter for R Markdown
RMarkdownConverter.rb
di 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
il contenuto del mio primo post R Markdown:
---
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
```
Sembra inoltre che aggiungendo 'markdown_ext: markdown' a' _config.yml' Jekyll eseguirà i file 'rmd'. Tuttavia, significa anche che i file 'md' non verranno elaborati. Non è un grosso problema per me dato che uso le estensioni di file '.markdown'. – jbryer
Ci dovrebbe essere un modo per farlo senza richiamare "rinruby', che è noto per essere lento. Sto esplorando come utilizzare un comando shell direttamente per elaborare i file Rmd, tuttavia i backtick usati da knitr fanno scattare l'esecuzione della shell. – Ramnath