9

我找到了这篇很棒的教程,介绍了如何修改在 Rstudio 中使用 markdown 和 knitr 创建的 HTML 报告的 css 格式。帖子可以在这里找到。

我希望以此概念为基础,并通过使用相同的 css 来模仿此处的页面布局。我试图简单地复制/粘贴/组合我在查看页面源时找到的两个 css 文件。

您可以提供的任何帮助将不胜感激!这是我第一次尝试做任何 CSS。

4

2 回答 2

11

这是 RStudio 提供的方法:http ://www.rstudio.com/ide/docs/authoring/markdown_custom_rendering

options(rstudio.markdownToHTML = 
  function(inputFile, outputFile) {      
    require(markdown)
    markdownToHTML(inputFile, outputFile, stylesheet='custom.css')   
  }
) 

我从来没有能够让它正常工作,所以我做的有点不同:

我通过创建标准输出文件来做到这一点,然后将标题和 css 代码放在 R 的顶部:

tmp <- readLines("your.html") 
tmp <- tmp[-c(1:50)] # or however many lines it is before the css ends
write(tmp,"your.html")

然后我使用 pandoc 在独立文件中添加我自己的 css

system("pandoc -s -S your.html -c your.css -o output.html")
于 2012-10-27T00:00:58.097 回答
0

在 RStudio 之外(也可以在其中工作 - 我不确定,因为我不经常使用它),您可以使用选项“markdown.HTML.stylesheet”来设置自定义样式表。然后它会将您的 .css 文件中的所有内容导入到新创建的 html 文件中。

这是一个例子:

## Set file names
htmlName <- "test.html"
rmdName <- gsub("html","Rmd", htmlName) 
stylesheetName <- 'style.css'

## Generate rmd file from R
sink(file = rmdName, type='output') 
    cat('\n<textarea maxlength="3000" cols="70">') 
    cat("Hello World!") 
    cat('</textarea>\n') 
sink()

## Generate style sheet from R
sink(file = stylesheetName, type='output') 
    cat("textarea {color: #a10000; }\n")
sink()

## Set knitr options and knit html
require(knitr) 
options(markdown.HTML.stylesheet = stylesheetName)
knit2html(rmdName, output = htmlName) 
于 2014-07-02T20:16:58.000 回答