Задача: конвертировать md-файл .md в .odt
.md — текстовые файлы с разметкой маркдаун (markdown)
.odt — текстовые файлы редактора Write из пакета LibreOffice
Вы можете использовать конвертер пандок (pandoc). Pandoc — универсальный конвертер документов. Если вам нужно конвертировать файлы из одного формата разметки в другой, pandoc — ваш швейцарский нож. Pandoc может конвертировать многие текстовые форматы в различные стороны преобразования.
Обратите внимание, откуда и куда конвертация происходит, и отмечено значками:
← = преобразование из;
→ = преобразование в;
↔︎ = преобразование из и в.
Многим будет интересно, что есть такие виды конвертации:
- ↔︎ Microsoft Word DOCX
- ↔︎ Rich Text Format RTF
- ↔︎ OpenOffice/LibreOffice ODT
Устанавливается pandoc в терминале, как всегда, просто:
sudo apt install pandoc
Популярные примеры
- ODT (OpenDocument Text, readable by OpenOffice):
- pandoc MANUAL.txt -o example21.odt
- Word docx:
- pandoc -s MANUAL.txt -o example29.docx
- Rich text format (RTF):
- pandoc -s MANUAL.txt -o example7.rtf
- Converting a web page to markdown:
- pandoc -s -r html http://www.gnu.org/software/make/ -o example12.md
- From markdown to PDF:
- pandoc MANUAL.txt —pdf-engine=xelatex -o example13.pdf
И ещё больше примеров: https://pandoc.org/demos.html
Возможное применение
В Linux вы можете добавить в меню файлового менеджера новое действие, например:
pandoc %U -o %u.odt && rename 's/md.odt/odt/g' *
Кто-то предпочтёт более универсальное:
"cat %U >> Archiv/$(basename "%u") && sed -i -e 's@<span class="symbol">\<\/span>@[\]{custom-style="symbol"}@g' -e 's@<span class="symbol">\<\/span>@[\]{custom-style="symbol"}@g' -e 's@<span class="symbol">\<\/span>@[\]{custom-style="symbol"}@g' -e 's@<span class="symbol">\<\/span>@[\]{custom-style="symbol"}@g' %U && pandoc -t odt+smart --lua-filter odt-custom-styles.lua %U -o %u.odt --reference-doc="default.ott" && rename 's/md.odt/odt/g' *
где defaul.ott (шаблон LibreOffice по умолчанию, чтобы получить файл odt с нужными стилями) связан символической ссылкой из папки /home/%USERNAME%/Шаблоны, где у меня есть файлы md.
Рекомендую предпочитать последнюю версию pandoc, которая распознает фильтры.
На github последняя версия: https://github.com/jgm/pandoc
Ссылки