Настроить css для блоков ввода/вывода в xaringan

Я использую xaringan для создания презентаций и хотел бы настроить CSS для входных и выходных фрагментов R.

Первоначально я думал, что смогу использовать аргументы class.source и class.output из knitr для установки классов CSS.

knitr::opts_chunk$set(class.source = "foobar", 
                      class.output = "bg-warning")

Однако эти глобальные действия, похоже, не очень хорошо сочетаются с xaringen. Следующий минимальный пример

---
title: Change the chunk style
output:
  xaringan::moon_reader
---


```{r}
knitr::opts_chunk$set(class.source = "foobar", 
                      class.output = "bg-warning")
```

```{r}
mtcars[1:5, "mpg"]
```

производит следующий рендеринг

Настроить css для блоков ввода/вывода в xaringan

Если для вывода установлено значение htlm_document, то все воспроизводится хорошо, но это не исправит ситуацию с презентацией ксарингана.

Если вы пытаетесь изменить внешний вид своих фрагментов кода, возможно, это поможет! Этот тоже может помочь!

Josh Allen 19.03.2022 04:05
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
1
1
29
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Эти параметры фрагмента не будут работать для харинган, потому что харинган использует синтаксис Markdown не от Pandoc, а comment.js. То есть они генерируют ```{.r .class}, который работает только для Markdown от Pandoc. У меня нет времени поддерживать их в харинган, но если вы хотите добавить пул реквест на Github, вот место для начала: https://github.com/yihui/xaringan/blob/2ad2a6d/R/render.R#L195-L204 По сути, вы оборачиваете исходные/выходные строки символов внутри .class[], что является замечанием.js синтаксис для добавления классов к элементам.

Без патча вы можете применить имя класса только ко всему выводу и стилизовать блоки кода внутри класса, например,

---
title: Change the chunk style
output:
  xaringan::moon_reader
---

```{css, echo=FALSE}
/* R code */
.foobar code.r {
  font-weight: bold;
}
/* code without language names */
.foobar code[class = "remark-code"] {
  display: block;
  border: 1px solid red;
}
```

.foobar[
```{r}
mtcars[1:5, "mpg"]
```
]

Я подумаю над пиаром. Хотите, чтобы я поднял этот вопрос для обсуждения перед реализацией на странице github?

ekstroem 20.03.2022 16:44

Нет нужды в проблеме. Вы можете начать PR напрямую, если сможете разобраться с реализацией. Спасибо!

Yihui Xie 21.03.2022 02:09

Другие вопросы по теме