Skip to main content

odt2md

Конвертирует LibreOffice документ в церковнослявянский вариант Markdown.

Установка

Требования:

  • Python 3

Устанавливаем из репозитория pip:

pip install odt2md

Другой вариант установки - для разработчика:

git clone https://github.com/slavonic/odt2md.git
cd odt2md
python3 -m venv .venv
. .venv/bin/activate
pip install -e .[dev]

Тестирование

Установите в варианте для разработчика, затем

make test

Запуск и работа

Конвертирование

Чтобы сконвертировать в Markdown документ sample.odt, запустите команду odt2md:

python -m odt2md.odt2md sample.odt sample.zip

Результатом работы будет архив sample.zip, содержащий основной Markdown файл с именем content.md, а также картинки в под-директории Pictures.

Настройка профиля

Профиль управляет логикой отображения стиля LibreOffice на стиль Markdown.

В выходном документе Markdown могут активироваться следующие стилевые сегменты:

  1. bold - выделение жирным шрифтом (True/False)
  2. italic - выделение наклоном (True/False)
  3. kinovar - выделение киноварью (красным) (True/False)
  4. wide - выделение разрядкой (True/False)

Во входном документе LibreOffice мы имеем следующие параметры:

  1. font - имя шрифта. Например: Times Roman Cyrillic
  2. color - цвет. Например: #ff0000
  3. size - размер. Например: 17pt
  4. bold - жирность шрифта. Например: normal, bold
  5. italic - наклонный шрифт. Например: normal, italic

Любое из этих значений может быть None, что означает что используется значение по умолчанию.

Профиль по умолчанию делает так:

  1. Если входной шрифт bold, то устанавливает Markdown стиль bold=True
  2. Если входной шрифт italic, то устанавливает Markdown стиль italic=True
  3. Когда цвет шрифта color=="#ff0000, то устанавливает Markdown стиль kinovar=True
  4. Никогда не активирует Markdown стиль с разрядкой

Профиль по умолчанию таков:

from odt2md.emphasis import MarkdownStyle

def profile(font, color, size, bold, italic):
    '''
    Default transformation from LibreOffice to Markdown style
    '''
    bold = (bold == 'bold')
    italic = (italic == 'italic')
    kinovar = (color == '#ff0000')

    return MarkdownStyle(
        bold=bold,
        italic=italic,
        kinovar=kinovar,
        wide=False
    )

Для настройки своего профиля, надо создать файл с определением желаемого преобразования и передать его в odt2md с помощью ключа --profile. Например:

python -m odt2md.odt2md --profile sample_profile.py sample.odt sample.zip

Проще всего начать с того, что скопировать профиль по умолчанию в sample.md и затем отредактировать для получения желаемого эффекта.

Просмотр стилей исходного документа

Для просмотра стилей, используемых в документе LibreOffice, запустите команду

python -m odt2md.show_styles sample.odt

Команда покажет только стили, которые действительно используются. Стили, которые определены но не используются показаны не будут.

Release files for odt2md 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for odt2md 0.1.7
File Interpreter ABI Platform
odt2md-0.1.7-py3-none-any.whl Python 3 none any Details

Release files / odt2md-0.1.7-py3-none-any.whl

Download URL odt2md-0.1.7-py3-none-any.whl
Size 11.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f2b1d8f4752891ce8b66c4a65ed50407a655d818f9c12550233d81fe62d4e733
BLAKE2b-256 checksum
How to use checksums
612c367ac6c52c3ae72edafa5e983fe3547949f1bbb26b3ca3bbb93ab600e6b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release history Release notifications | RSS feed

This release

0.1.7 This release

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.0

1 release file

0.0.14

1 release file

0.0.13

1 release file

0.0.12

1 release file

0.0.11

1 release file

0.0.10

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page