Docutils: копирует ли rst2html изображения? - PullRequest
0 голосов
/ 10 ноября 2018

rst2html копирует каталоги изображений и пути к изображениям?

Я попробовал rst2odt, и он копирует изображения. Я не смог достичь того же для rst2html.

Это безумие. Это инструмент для документирования, и все же я часами ищу, чтобы найти окончательный ответ на такой главный вопрос.

1 Ответ

0 голосов
/ 24 июля 2019

Язык разметки reStructuredText включает директиву image , как и генераторы документации, основанные на reStructuredText, такие как Sphinx . Как изображение включается в вывод зависит от формата вывода.

Например, программа rst2odt не копирует каталоги изображений или пути к изображениям, он копирует фактические изображения в файл ODT. ODT-файлы - это просто ZIP-файлы с определенной структурой , так что вы можете разархивировать файл ODT и увидеть изображения в Pictures/.

В отличие от этого, программа rst2html не сохраняет изображения непосредственно в файле HTML. поскольку это не типично для HTML. Вместо этого генерирует img тег это указывает на изображение. Например, эта разметка:

.. image:: example.png

создаст этот HTML-код:

<img alt="example.png" src="example.png" />

Путь example.png является примером пути относительно исходного файла, но есть другие варианты для тегов img .

Если вы хотите встроить изображения непосредственно в файл HTML, например, например. URL-адреса данных , вам нужно будет сделать что-то еще, например:

  1. Преобразуйте изображение вручную в Base64, используйте его для создания HTML-тега img с URL-адресом данных и включите его в reStructuredText, используя необработанная директива .

    Например, эта разметка:

    .. raw:: html
    
        <img alt="red square" src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAGQAAABkAQMAAABKLAcXAAAAA1BMVEX/AAAZ4gk3AAAAFElEQVQ4 y2NgGAWjYBSMglFATwAABXgAASlxufwAAAAASUVORK5CYII=" />
    

    выдаст этот HTML:

    <img alt="red square" src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAGQAAABkAQMAAABKLAcXAAAAA1BMVEX/AAAZ4gk3AAAAFElEQVQ4 y2NgGAWjYBSMglFATwAABXgAASlxufwAAAAASUVORK5CYII=" />
    

    , который будет производить это изображение:

    red square

  2. Используйте такой инструмент, как SingleFile , Inliner , или webpage2html постобработка сгенерированного HTML .

Обратите внимание, что существуют ограничения на URL-адреса данных, в том числе ограничения размера, зависящие от браузера .

Связанный:

...