Добавить поддержку reStructuredText для ноутбуков Juptyer - PullRequest
0 голосов
/ 14 января 2020

Мне нужно было просмотреть файлы reStructuredText в JupyterLab, и лучшее, что я нашел на данный момент, было @ akaihola на связанную проблему на github .

Я добавил Обходной путь, позволяющий визуализировать файл без просмотра источника, приведенный ниже.

1 Ответ

0 голосов
/ 14 января 2020

Если кому-то еще это понадобится, вот решение, с которым я сейчас работаю:

import docutils.core
import docutils.writers.html5_polyglot
from IPython.core.magic import register_cell_magic, register_line_magic
from IPython.display import HTML

@register_cell_magic
def rst(line, cell):
    "Render ReStructuredText"
    writer = docutils.writers.html5_polyglot.Writer()
    return HTML(docutils.core.publish_string(cell, writer=writer).decode('UTF-8'))

@register_line_magic
def rstfile(filename):
    "Render ReStructuredText"
    writer = docutils.writers.html5_polyglot.Writer()
    with open(filename, 'r') as file:
        cell = file.read()
    return HTML(docutils.core.publish_string(cell, writer=writer).decode('UTF-8'))

Для просмотра файла rst без источника:

%rstfile <your-rst-filename>

Чтобы использовать исходное решение, как ячейку rst, показывающую как источник ReStructuredText, так и визуализированный вывод:

%%rst
============
 Main title
============

Some **heavy** markup.
...