Тег абзаца не отображается в ячейке таблицы RestructuredText

Я определяю следующую таблицу в реструктурированном тексте:

+-------------------------+--------------------+
| Label                   |Description         |
+=========================+====================+
| foo                     |Two options:        |
|                         |                    |
|                         |* Thing 1           |
|                         |* Thing 2           |
+-------------------------+--------------------+
| bar                     |Bar does something. |
+-------------------------+--------------------+

Когда это отображается в формате html (с использованием Sphinx), "два варианта:" текст помещается в тег абзаца. Текст «Бар делает что-то.» не отображается с тегом абзаца. Когда таблицы стилей применяются, это приводит к тому, что текст ячейки выглядит по-другому:

введите здесь описание изображения

Есть ли способ заставить такое же поведение для обоих случаев?


person kldavis4    schedule 07.09.2016    source источник
comment
Два варианта: это абзац, а Бар что-то делает, это ячейка таблицы. Но что не так с выводом? Что вы подразумеваете под одинаковым поведением?   -  person Humbalan    schedule 07.09.2016
comment
Проблема в двух вариантах: и Bar делает что-то по-разному, потому что у одного есть тег абзаца, а у другого нет. Вы можете видеть на прикрепленном изображении, тот, что без тега абзаца, меньше. Это делает таблицы забавными, так что многострочные ячейки имеют больший текст, чем однострочные. Если бы был способ заставить однострочные ячейки отображаться как абзацы, это решило бы проблему для меня.   -  person kldavis4    schedule 07.09.2016
comment
Какую тему Sphinx вы используете? Возможно, связано: stackoverflow.com/q/39285425/407651.   -  person mzjn    schedule 07.09.2016
comment
Спасибо за ваш ответ. Я использую пользовательскую тему на основе алебастра.   -  person kldavis4    schedule 07.09.2016
comment
Хорошо, тогда я предполагаю, что вам может понадобиться добавить или обновить некоторые правила CSS в этой теме.   -  person mzjn    schedule 08.09.2016
comment
Это проблема CSS? Генерируемый html на самом деле отличается, поэтому в настоящее время мне нужны разные правила для получения одного и того же контента. Если бы html не отличался, я мог бы применить то же правило CSS и получить согласованные результаты.   -  person kldavis4    schedule 08.09.2016
comment
Что произойдет, если вы используете стандартную алебастровую тему без каких-либо настроек?   -  person mzjn    schedule 09.09.2016
comment
Я переключился на алебастр, а затем на базовый и классический, и все они генерируют тот же html, что и моя пользовательская тема.   -  person kldavis4    schedule 09.09.2016


Ответы (1)


Способ Sphinx для изменения объявлений CSS: добавьте в свой conf.py строку

templates_path = ['my_template_path']

и добавьте в my_template_path файл layout.html. Там вы можете переопределить классы css вашей темы, которые определяют макет содержимого таблицы. Имена классов зависят от вашей темы. Попробуйте выяснить это с помощью функций разработчиков вашего браузера. В моей теме определение первого абзаца — class="first". Здесь я перезаписываю его

td > p.first { margin: 0; }

В списке ul есть class="last simple", перезаписанный

td > ul.last.simple { margin: 0; }

layout.html должен иметь вид

{% extends "!layout.html" %}
<style type="text/css">

/* Add class definitions here */

</style>

Надеюсь, это поможет. Еще несколько пояснений здесь и в этот поток stackoverflow.

person Humbalan    schedule 08.09.2016