Интервал между кодами виньетки pkgdown
У меня проблемы с выводом фрагмента кода при запуске pkgdown::build_site()
со всеми параметрами по умолчанию. Куски отображаются в html-содержимом с лишним пробелом между каждой строкой кода. Например:
```{r, message = FALSE}
library(leaflet)
leaflet(toronto) %>%
addProviderTiles(providers$CartoDB.Positron) %>%
addPolygons()
```
Выходит как:
library(leaflet)
leaflet(toronto) %>%
addProviderTiles(providers$CartoDB.Positron) %>%
addPolygons()
Или в виде скриншота:
Я не сталкивался с этой проблемой в HTML-контента, созданного blogdown
, хотя я понимаю, что это независимый пакет, и README.md
файл рендерится просто отлично.
Я не смог найти упоминания о пробелах в кусках кода pkgdown, и мне интересно, где я могу начать устранять это.
Раздел YAML виньетки использует записи по умолчанию:
---
title: "Vignette Title"
author: "Autho"
date: "11/22/2017"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{Vignette Title}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
И блок настройки также является стандартным.
```{r setup, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
```
Детали сессии:
R version 3.4.1 (2017-06-30)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: OS X El Capitan 10.11.6
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
locale:
[1] en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] leaflet_1.1.0 ggplot2_2.2.1.9000 cancensus_0.1.5 bindrcpp_0.2
[5] sf_0.5-5 dplyr_0.7.4 rgdal_1.2-15 sp_1.2-5
loaded via a namespace (and not attached):
[1] Rcpp_0.12.13 lattice_0.20-35 class_7.3-14 assertthat_0.2.0
[5] rprojroot_1.2 digest_0.6.12 mime_0.5 R6_2.2.2
[9] plyr_1.8.4 backports_1.1.0 evaluate_0.10.1 e1071_1.6-8
[13] httr_1.3.1 rlang_0.1.4 rematch_1.0.1 lazyeval_0.2.1
[17] curl_2.8.1 rstudioapi_0.7 whisker_0.3-2 callr_1.0.0
[21] rmarkdown_1.7 pkgdown_0.1.0.9000 desc_1.1.1 labeling_0.3
[25] devtools_1.13.4 readr_1.1.1 udunits2_0.13 stringr_1.2.0
[29] htmlwidgets_0.9 munsell_0.4.3 shiny_1.0.3 compiler_3.4.1
[33] httpuv_1.3.5 pkgconfig_2.0.1 htmltools_0.3.6 highlight_0.4.7.2
[37] tibble_1.3.4 roxygen2_6.0.1 viridisLite_0.2.0 crayon_1.3.4
[41] withr_2.1.0.9000 MASS_7.3-47 commonmark_1.4 grid_3.4.1
[45] jsonlite_1.5 xtable_1.8-2 gtable_0.2.0 DBI_0.7
[49] magrittr_1.5 units_0.4-6 scales_0.5.0.9000 stringi_1.1.5
[53] xml2_1.1.1 RColorBrewer_1.1-2 tools_3.4.1 glue_1.2.0
[57] purrr_0.2.4 hms_0.3 crosstalk_1.0.0 pkgload_0.0.0.9000
[61] yaml_2.1.14 colorspace_1.3-2 classInt_0.1-24 memoise_1.1.0
[65] knitr_1.17 bindr_0.1
2 ответа
Проблема заключается в высоте строки под стилем, указанным для HTML code
element, элемент, представляющий фрагмент компьютерного кода на html-странице.
Согласно документации для pkgdown::build_site
,
Если вы хотите выполнить небольшую настройку вашего сайта pkgdown, проще всего добавить pkgdown / extra.css и pkgdown / extra.js. Они будут автоматически скопированы в docs / и вставлены в pkgdown CSS и JSS по умолчанию.
Таким образом, добавление файла с именем extra.css, содержащего приведенный ниже код, должно помочь:
/*-- Extra CSS for code chunks --*/
pre, code {
background-color: #f8f8f8;
color: #333;
line-height: 1.0; /*-- Change line-height as required --*/
}
Фрагмент кода ниже иллюстрирует эффекты изменения высоты строки.
/*Using two class selectors to illustrate the example*/
pre,
code.wide {
background-color: #f8f8f8;
color: #333;
line-height: 2.0;
}
pre,
code.narrow {
background-color: #f8f8f8;
color: #333;
line-height: 1.0;
}
<pre>
<code class="wide">
1st line of code
2nd line of code
3rd line of code
</code>
</pre>
<pre>
<code class="narrow">
1st line of code
2nd line of code
3rd line of code
</code>
</pre>
Вы должны были перейти на Pandoc 2.0, который на данный момент не нужен. Самое простое исправление (также то, что я бы порекомендовал) - удалить собственную версию Pandoc. Немного более сложный способ - сообщить об этой проблеме автору pkgdown и дождаться исправления (для Pandoc 2.0), которое будет похоже на исправление здесь, в rmarkdown. Если pkgdown разрешает пользовательский CSS, вы также можете исправить это самостоятельно:
.sourceLine {
display: inline-block;
}