Ich versuche, einen Jekyll-Konverter für R Markdown-Dateien zu schreiben. Ich habe RMarkdownConverter.rb
erstellt und in meinem Verzeichnis _plugins
platziert. Ich habe überprüft, dass andere Plugins funktionieren, aber dieses ist nicht. Ich sehe auch keine Fehlermeldungen, einschließlich der, die ich selbst eingegeben habe. Es scheint, dass dies nicht verwendet wird. Jekyll erzeugt jedoch eine HTML-Datei für meine .Rmd
-Datei, verarbeitet aber einfach das R-Chuck als Code-Chuck. Jede Hilfe oder Gedanken würde sehr geschätzt werden. Jekyll Converter für R Markdown
RMarkdownConverter.rb
Datei:
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
Der Inhalt meiner ersten R Markdown Beitrag:
---
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
```
Es scheint auch, dass wenn Sie 'markdown_ext: markdown' zu' _config.yml' hinzufügen, wird Jekyll die 'rmd' Dateien verarbeiten. Es bedeutet aber auch, dass 'md' Dateien nicht verarbeitet werden. Keine große Sache für mich, da ich '.Markdown' Dateierweiterungen verwende. – jbryer
Es sollte einen Weg geben, dies zu tun, ohne 'Rinruby' aufzurufen, von dem bekannt ist, dass es langsam ist. Ich untersuche, wie man einen Shell-Befehl direkt verwendet, um Rmd-Dateien zu verarbeiten, jedoch lösen die von Knitr verwendeten Backticks die Shell-Ausführung aus. – Ramnath