6

MarkdownでRパッケージのドキュメントを作成し、それをRdファイルに変換しようとしています。

これを見る別の方法は、さまざまなマークダウン構造を認識し、これらをどのようにレンダリングするかを指定できるフレームワークが必要だと思います。例:

  • `text in backticks`に変換されます\code{text in backticks}
  • **text**に変換されます\bold{text}
  • マークダウンリストはに変換されます\itemize{...}

等々。

これを可能にする何かがありますか?Rのpanderパッケージ(pandocのラップアラウンド)は有望に見えましたが、変換ルールを指定できるかどうかはわかりません(たとえば、バックティックを使用して変換します\texttt\code。また、入力スニペットだけでなく、完全なスタンドアロンドキュメントも生成します。変換された。

Rのmarkdownパッケージは、マークダウン->HTMLを実行しているように見えます。カスタムレンダラーをサポートしているようです、どのように作成すればよいかわかりません(Cコードを作成する必要があるようです)。

私はこのようなものを求めています:

convertMarkdown(myTextSnippet,
                backticks = function (txt) {
                    return(paste0('\\code{', txt, '}'))
                },
                bold = function(txt) {
                    return(paste0('\\bold{', txt, '}'))
                },
                unordered.list = function (items) {
                    itms <- paste('\\item', items, collapse='\n')
                    return(paste('\\itemize{', itms, '}', sep='\n'))
                },
                # ... and so on
)

そのようなものは存在しますか?

(ボーナス:コメントにマークダウンを埋め込むことができるようにしたいので、roxygenコメントの一部をマークダウンからrdに変換してから、出力でroxygenを実行することを考えていました)。

4

2 に答える 2

4

@gabor-csardi による maxygen パッケージを見たことがありますか?

https://github.com/gaborcsardi/maxygen

基本的に、Markdown で roxygen ヘッダーを記述できます。

[更新] これらの変更は roxygen2 パッケージに組み込まれており、バージョン 6 のリリースで適用されます。GitHub から:

ほとんどのフィールドは、従来の Rd 言語の代わりに Markdown マークアップを使用して記述できるようになりました。Roxygen: list(markdown = TRUE) を DESCRIPTION に追加することで、Markdown をグローバルに有効にすることができます。@md / @noMd タグは、指定されたブロックの Markdown 解析のオン/オフを切り替えます。詳細については、@gaborcsardi による「マークダウン」ビネット (#364、#431、#499、#506、#507) を参照してください。

于 2015-08-14T08:21:39.913 に答える