Пользовательский CSS с вязкой и уценкой в ​​R

Я нашел этот отличный учебник о том, как изменить форматирование css HTML-отчета, созданного с помощью Markdown и Knitr в Rstudio. Этот пост можно найти здесь.

Я надеялся развить эту концепцию и воспроизвести макет страницы здесь, используя тот же css. Я попытался просто скопировать/вставить/объединить два файла css, которые я нашел при просмотре исходного кода страницы.

Любая помощь, которую вы можете оказать, будет принята с благодарностью! Это моя первая попытка сделать что-нибудь CSS.


person Btibert3    schedule 26.10.2012    source источник


Ответы (2)


Это метод, предоставляемый 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")
person Brandon Bertelsen    schedule 27.10.2012
comment
Спасибо! Все еще не идеально, но это очень помогает. - person Btibert3; 27.10.2012
comment
Да, мне никогда не везло с первым методом, поэтому я просто обрабатываю. Если у вас получилось - дайте знать! - person Brandon Bertelsen; 28.10.2012
comment
Согласно странице RStudio, вы можете просто перейти прямо к Pandoc, сделав этот процесс одношаговым, изменив функцию rstudio.markdownToHTML для прохождения через Pandoc вместо использования встроенной функции преобразования уценки в html. Ссылка (внизу) - person rnorberg; 28.04.2014

Вне 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) 
person pitabread    schedule 02.07.2014