Остальные зачеркивания
Можно ли вычеркнуть текст в Реструктурированном тексте?
Что-то, что, например, отображается как тег <strike>
при преобразовании в HTML, например:
реструктурированный текст
4 ответа:
Я лучше проверил документы, как предложил вилле Севуори, и решил добавить зачеркнутый текст следующим образом:
.. role:: strike :class: strike
В документе это может быть применено следующим образом:
:strike:`This text is crossed out`
Тогда в моем файле
css
есть запись:.strike { text-decoration: line-through; }
Существует, по крайней мере, три способа сделать это:
.. role:: strike An example of :strike:`strike through text`. .. container:: strike Here the full block of test is striked through. An undecorated paragraph. .. class:: strike This paragraph too is is striked through. .. admonition:: cancelled :class: strike I strike through cancelled text.
После применения
rst2html
Вы получаете:<p>An example of <span class="strike">strike through text</span>.</p> <div class="strike container"> Here the full block of test is striked through.</div> <p>An undecorated paragraph.</p> <p class="strike">This paragraph too is is striked through.</p> <div class="strike admonition"> <p class="first admonition-title">cancelled</p> <p class="last">I strike through cancelled text.</p>
Вы используете их со стилем
.strike { text-decoration: line-through; }
Здесь я взял директиву
admonition
в качестве примера, но любой директива, разрешающая опцию:class:
, вполне подойдет.Поскольку он генерирует
span
, директиваrole
является единственной, которая позвольте применить ваш стиль к части абзаца.Излишне добавлять класс
strike
в директиву с таким же именемstrike
, как предполагают Gozzilli, потому что имя директивы по умолчанию класс для вывода html.Я проверил этот синтаксис как с
rest2html
, так и с Sphinx. Но в то время как все работает, как и ожидалось сrest2html
class
директива fail with Sphinx . Вы должны заменить его на.. rst-class:: strike This paragraph too is is striked through.
Это только указано в небольшом сноска Сфинкс праймер остальные.
Согласно официальной спецификации нет директивы для зачеркивания разметки в ReST.
Однако, если среда позволяет: raw: role или вы можете написать свои собственные роли, то вы можете написать пользовательский плагин для него.
Я нашел другие ответы очень полезными. Я не очень хорошо знаком со Сфинксом, но я использую его для проекта. Я тоже хотел иметь способность к сквозному удару и получил ее, основываясь на предыдущих ответах. Чтобы быть ясным, я добавил свою зачеркнутую роль, как упоминал гоззилли, но я сохранил ее внутри моего conf.py используя переменную rst_prolog, как описано в потоке переполнения стека здесь . Это означает, что эта роль доступна для всех ваших файлов rest.
Затем я расширил базовый HTML шаблон, как описано выше, создав
layout.html
в_templates
внутри моего исходного каталога. Содержимое этого файла:{% extends "!layout.html" %} {% set css_files = css_files + ["_static/myStyle.css"] %}
Это в основном включает пользовательский css-файл для всех ваших построенных html-документов по умолчанию.
Наконец, в моем каталоге _static в исходном каталоге я включил файл
myStyle.css
, который содержит:.strike { text-decoration: line-through; }
Которые другие ответы уже предоставили.
Я просто пишу этот ответ, поскольку он не был очевиден для меня с моим ограниченным Сфинксом. опыт, какие файлы редактировать.