2014-05-15 18 views
8

Vì vậy, tôi có một số họa tiết, vignettes/test-vignette3.Rmd:đan HTML không lưu html trong họa tiết/

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

Header 
========= 

Khi tôi nhấn nút knit HTML, tôi nhận được như sau:

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


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

Tuy nhiên, nếu tôi sao chép tệp này sang inst/doc và nhấn vào nút knit HTML, tôi nhận được:

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


Output created: test-vignette3.html 

Câu hỏi của tôi là:

  1. Làm cách nào để RStudio lưu đầu ra từ knit HTML trên vignettes/test-vignette3.Rmw vào thư mục họa tiết?
  2. Làm cách nào để RStudio không xóa test-vignette3.knit.md trong quy trình knit HTML? (Tôi muốn có .md để mọi người có thể đọc nó trên repo github của tôi.)

Tôi đang chạy phiên bản RStudio 0.98.836, phiên bản rớt xuống 0.1.98 và phiên bản knitr 1.5.

Trả lời

6

Thực ra bạn nên không giữ đầu ra .html trong vignettes/, bởi vì đầu ra họa tiết được giả định sẽ được tạo bởi R CMD build. R có thể không biên dịch lại các họa tiết của bạn nếu các tệp đầu ra HTML đã ở đó khi bạn xây dựng gói nguồn, có nghĩa là bạn có khả năng thấy kết quả cũ (và có thể sai) vì tệp HTML không được tạo từ phiên bản mới nhất của .Rmd tệp. Do đó, RStudio cố tình tránh viết các tệp HTML trong thư mục vignetttes.

Nếu bạn chọn bỏ qua cảnh báo ở trên, bạn chắc chắn có thể chạy rmarkdown::render('your-vignette.Rmd') trong bảng điều khiển R.

Đối với câu hỏi thứ hai, tôi không khuyên bạn thực hiện điều đó, vì Github hiển thị đánh dấu thành HTML khác nhau (so với chuyển đổi Pandoc được thực hiện thông qua gói rmarkdown). Thông thường, các họa tiết gói được hiển thị trên CRAN, xem, ví dụ: the knitr page trên CRAN. Tuy nhiên, vì gói rmarkdown chưa có trong CRAN, bạn không thể sử dụng công cụ làm mờ nét ảnh knitr::rmarkdown vào lúc này (tôi đoán chúng tôi không quá xa bản phát hành CRAN ngay bây giờ). Tuy nhiên, bạn có thể xem xét việc đẩy các tệp HTML vào các trang Github.

+0

Điều này rất hợp lý, nhưng cũng rất đáng ngạc nhiên đối với người dùng. Phải mất một vài ngày trước khi tôi tìm thấy câu trả lời này và nhận ra lý do tại sao họa tiết đan của tôi đã bí ẩn không xuất hiện trong 'họa tiết'. Nó có thể là tốt hơn để có hành vi nhất quán và để làm một cái gì đó khác nhau chỉ khi xây dựng các gói. – dash2

+0

Thật không may là không có gì tôi có thể làm bên cạnh tôi. Hành vi được xác định bởi lõi R. Nếu bạn sử dụng RStudio, RStudio sẽ không thực sự tạo tệp html khi bạn nhấp vào nút Đan. Nếu bạn biên tập viên khác, chúng tôi không thể giúp đỡ. –

+0

Vâng, đây là một vấn đề RStudio. Tôi tốt với 'rmarkdown :: render', mà chỉ làm những gì nó nói và sẽ vui vẻ tạo HTML bên trong họa tiết. Câu hỏi đặt ra là liệu nút đan có nên hoạt động đặc biệt trong thư mục họa tiết hay không. Quan điểm của tôi sẽ là, nếu bạn đang xây dựng một gói CRAN, quá trình xây dựng của bạn có lẽ không nên liên quan đến việc nhấp vào nút đan thủ công - nó phải liên quan đến ví dụ: 'devtools :: build_vignettes'. Và OTOH nút đan nên làm những gì tôi mong đợi. – dash2

Các vấn đề liên quan