16

複数のRMarkdownファイルとMarkdownファイルを含むリポジトリをgithubにアップロードするのが好きです。

github上のそのようなマークダウンファイルの例を次に示します。そして、これがスクリーングラブです。


ここに画像の説明を入力してください


問題は、画像が表示されないことです。画像をクリックすると、ファイルが保存されている場所に移動します。参照されるファイルは次のとおりです。

 https://github.com/... /blob/.../myfigure.png

参照する必要があると思いますが

 https://github.com/... /raw/.../myfigure.png

私が考えたこと:

imgur:次のコードを追加することで、外部画像ホスティングを使用できます(たとえば、この例を参照)。

```{r setup}
opts_knit$set(upload.fun = imgur_upload) # upload all images to imgur.com
````

ただし、さまざまな理由でこれを実行したくありません(ファイアウォールの背後にある場合、アップロードに問題があります。低速です。不要な依存関係が作成されます)

Rpubs:かなりクールなRPubsもあります。ただし、転記の時点では、複数のRマークダウン伝票よりも単一のマークダウン伝票に適しているようです。また、ソースRMarkdownとMarkdownドキュメントの間にこのような密接なリンクはありません。

質問

  • R Markdownとknitrを使用してMarkdownファイルを生成するワークフローはありますか?githubにアップロードすると、Markdownファイルがgithubリポジトリに保存されている画像を表示できるようになりますか?
4

2 に答える 2

11

これは最小限の例の一部でした。

opts_knit$set(base.url='https://github.com/.../raw/.../')

ここここの変更を参照してください。

http://yihui.name/knitr/optionsも参照してください。

EDIT [base.urlを以前の値に復元するための更新あり

切り替えに関しては、関数を次のように定義できます。

create_gitpath <- function(user, repo, branch = 'master'){
   paste0(paste('https://github.com', user, repo, 'raw', branch, sep = '/'),'/')
}

my_repo <- create_gitpath(user, repo)

knit.github <- function(..., git_url  ){
 old_url <- opts_knit$get('base.url')
 on.exit(opts_knit$set(base.url = old_url))
 opts_knit$set(base.url  = git_url)
 knit(..., envir = parent.frame())
}

プッシュして実行するknitまで実行しgithubますknit.github(..., git_url = my_repo)

于 2012-06-28T03:41:56.503 に答える
4

マークダウンファイルの先頭にある次のコードはどうですか?

``` {r setup,echo=FALSE,message=FALSE}
gitsubdir <- paste(tail(strsplit(getwd(),"/")[[1]],1),"/",sep="")
gitrep <- "https://github.com/mpiktas/myliuduomenis.lt"
gitbranch <- "master"
opts_knit$set(base.url=paste(gitrep,"raw",gitbranch,gitsubdir,sep="/"))
```

gitによって報告されるようgitrepに微調整することが可能です。gitbranchここでは、メインのgitリポジトリディレクトリの1つ下のディレクトリレベルにいると仮定しました。繰り返しますが、これはより複雑なシナリオに対応するために調整される可能性があります。

githubでテストしました。これが、 Rmdファイルと対応するmdファイルです。

于 2012-06-28T07:16:25.740 に答える