繁体   English   中英

R中带有knitr和markdown的自定义CSS

[英]Custom CSS with knitr and markdown in R

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

我希望能建立在这一概念,并模仿页面的布局在这里使用相同的CSS。 我试着简单地复制/粘贴/组合我在查看页面源时找到的两个css文件。

任何你可以借出的帮助将不胜感激! 这是我第一次尝试并做任何CSS。

这是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")

在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) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM