11

R Markdown ファイル用の Jekyll コンバーターを作成しようとしています。作成してディレクトリRMarkdownConverter.rbに配置しました。_plugins他のプラグインが機能していることを確認しましたが、これは機能していません。また、自分で入力したものを含め、エラーメッセージも表示されません。これは使用されていないようです。しかし、Jekyll は私の.Rmdファイルの HTML ファイルを生成していますが、単に R チャックをコード チャックとして処理しています。どんな助けや考えも大歓迎です。

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 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
```
4

1 に答える 1

4

最後の数行を次のように置き換えてみてください

R.assign "content", content
R.eval "knitr::render_markdown(strict = TRUE)"
R.pull "(knitr::knit2html(text = content, fragment.only = TRUE))"

R.pullR 出力の内容を Ruby にコピーする必要があると思います。さらに、Rmd から html に直接変換することをお勧めします。私は、Ruby ベースの別のブログ プラットフォームであるRuhohと連携する際に、この戦略をうまく使用しました。

アップデート。非常に奇妙ですが、拡張子 rmd を使用すると md と競合するようです。ランダムに変更したところram、jekyllは正しく認識したようです。理由はわかりません。

于 2012-12-10T04:48:14.723 に答える