2014-05-15 10 views
8

Così ho una vignetta, vignettes/test-vignette3.Rmd:maglia HTML non salva HTML in vignette/

--- 
title: "Sample Document" 
output: 
    html_document: 
    highlight: kate 
    theme: spacelab 
    toc: yes 
    pdf_document: 
    toc: yes 
--- 

Header 
========= 

Quando mi ha colpito il pulsante knit HTML, ottengo il seguente:

processing file: test-vignette3.Rmd 
output file: test-vignette3.knit.md 


Output created: /tmp/RtmpKVpegL/preview-5ef42271c0d5.dir/test-vignette3.html 

Tuttavia, se copiare questo file per inst/doc e premere il pulsante knit HTML, ottengo:

processing file: test-vignette3.Rmd 
output file: test-vignette3.knit.md 


Output created: test-vignette3.html 

Le mie domande sono:

  1. Come raggiungo RStudio per salvare l'output di knit HTML sul vignettes/test-vignette3.Rmw alla directory vignette?
  2. Come si ottiene RStudio per non eliminare test-vignette3.knit.md durante la procedura knit HTML? (Mi piacerebbe avere il .md in modo che la gente possa leggerlo sul mio repository github.)

Sto eseguendo RStudio versione 0.98.836, rmarkdown versione 0.1.98 e knitr versione 1.5.

risposta

6

realtà si dovrebbe non mantenere l'uscita .html sotto vignettes/, perché l'output vignetta dovrebbe essere generato da R CMD build. R potrebbe non riuscire a ricompilare le tue vignette se i file di output HTML sono già stati lì quando costruisci il pacchetto sorgente, il che significa che è probabile che tu veda risultati vecchi (e probabilmente errati) perché il file HTML non è stato generato dall'ultima versione del .Rmd file. Pertanto RStudio evita intenzionalmente di scrivere i file HTML nella directory vignetttes.

Se si sceglie di ignorare l'avviso sopra, è possibile eseguire rmarkdown::render('your-vignette.Rmd') nella console R.

Per la seconda domanda, non è consigliabile farlo anche perché Github esegue il markdown su HTML in modo diverso (rispetto alla conversione Pandoc effettuata tramite il pacchetto rmarkdown). Normalmente le vignette dei pacchetti sono visualizzate su CRAN, vedere, ad esempio, the knitr page su CRAN. Tuttavia, poiché il pacchetto rmarkdown non è ancora in CRAN, al momento non è possibile utilizzare il motore di vignettatura knitr::rmarkdown (suppongo che non siamo troppo distanti dalla versione di CRAN ora). Tuttavia, puoi considerare di spingere i file HTML su pagine Github.

+0

Questo è molto logico, ma è anche molto sorprendente per l'utente. Mi ci sono voluti diversi giorni prima di trovare questa risposta e ho capito perché le mie vignette di Knitr non apparivano misteriosamente nelle "vignette". Potrebbe essere meglio avere un comportamento coerente e fare qualcosa di diverso solo quando si costruisce il pacchetto. – dash2

+0

Purtroppo non c'è nulla che io possa fare dalla mia parte. Il comportamento è definito da R core. Se si utilizza RStudio, RStudio non genererà effettivamente il file html quando si fa clic sul pulsante Knit. Se voi altri redattori, non possiamo aiutare. –

+0

Bene, questo è un problema RStudio. Sto bene con 'rmarkdown :: render', che fa proprio quello che dice e genererà felicemente HTML all'interno delle vignette. La domanda è se il pulsante di maglia deve comportarsi in particolare all'interno di una directory vignetta. La mia vista sarebbe, se stai costruendo un pacchetto CRAN, il tuo processo di compilazione probabilmente non dovrebbe coinvolgere manualmente il pulsante Knit - dovrebbe coinvolgere, ad es. 'DevTools :: build_vignettes'. E OTOH il bottone a maglia dovrebbe fare quello che mi aspetto. – dash2

Problemi correlati