В этой статье мы рассмотрим преобразование Markdown [1] в DOCX - собственный формат документов Microsoft Word, который используется с 2007 года. Вы можете задаться вопросом, почему энтузиаст Markdown и Asciidoc (например, я) имеет дело с этим случаем. Что ж, сотрудничество с группой других авторов может привести к ситуации, когда один или несколько участников запрашивают DOCX в качестве выходного формата. Не подводите никого, а вместо этого выясните, какие ограничения существуют, и как мы можем попытаться сделать всех членов группы счастливыми.
Что такое Markdown?
Как уже указывалось в «Введение в Markdown» [2], цель Markdown - это простое преобразование текста в HTML. Идея заключалась в том, чтобы сделать написание веб-страниц, документации и особенно записей в блогах таким же простым, как написание электронного письма. На сегодняшний день это де-факто синоним класса легких языков описания разметки, и цель можно считать достигнутой.
Markdown использует синтаксис форматирования обычного текста. При подходе, аналогичном HTML, ряд маркеров обозначают заголовки, списки, изображения и ссылки в вашем тексте. Несколько строк ниже иллюстрируют базовый документ, который содержит два заголовка (1-го и 2-го уровня), а также два абзаца и среду списка.
## Франция
Это подборка мест:
* Париж (_Ile de France_)
* Страсбург (_Alsace_)
Для правильного плана посещения около недели.
Конвертация в DOCX
Чтобы преобразовать ваш документ Markdown в DOCX, используйте инструмент pandoc [3]. Pandoc - это библиотека Haskell, которая описывает себя как «универсальный конвертер документов» или «швейцарский армейский нож для преобразования документов». Он доступен для различных платформ, таких как Linux, Microsoft Windows, Mac OS X и BSD. Pandoc обычно входит в пакет для таких дистрибутивов Linux, как Debian GNU / Linux, Ubuntu и CentOS.
Простой призыв к конверсии выглядит следующим образом:
$ pandoc -o тест.docx тест.мкрПервый параметр '-o' относится к выходному файлу, за которым следует имя файла ('test.docx '). Расширение файла помогает pandoc определить желаемый формат вывода. Второй параметр называет входной файл - в нашем случае это просто test.мкр.
Показанная выше длинная версия команды содержит два параметра «-f markdown» и «-t docx». Первый сокращает термин «вкус» и описывает формат входного файла. Второй делает то же самое для выходного файла и сокращает '-to'.
Полная команда выглядит следующим образом:
$ pandoc -o тест.docx -f markdown -t docx test.мкрОткрытие преобразованного файла с помощью Microsoft Word приводит к следующему выводу:
Для различных текстовых элементов Pandoc использует таблицы стилей. Это позволяет вам позже настроить эти элементы в соответствии с вашими потребностями во всем документе. Более новые версии Pandoc также предлагают обратный путь - вы можете преобразовать файл DOCX в Markdown следующим образом:
$ pandoc -o тест.md test.docxТогда сгенерированный файл будет иметь следующее содержимое:
Рекомендуемые места для посещения в Европе=====================================
Франция
------
Это подборка мест:
- Париж (* Иль-де-Франс *)
- Страсбург (* Эльзас *)
Для правильного плана посещения около недели.
Полезные параметры командной строки
Список опций Pandoc довольно длинный. Следующие из них помогут вам добиться лучших результатов и значительно упростят вашу жизнь:
* '-P' (длинная версия '-preserve-tabs'): сохранять табуляции вместо преобразования их в пробелы. Это полезно для блоков кода с отступом строк, которые являются частью вашего текста.
* '-S' (длинная версия '-smart'): выводить типографически правильный вывод.
Эта опция исправляет кавычки, дефисы / тире, а также многоточия («…»). Дополнительные неразрывные пробелы добавляются после определенных сокращений, таких как «Mr.”.
* '-track-changes = value': указывает, что делать с вставками, удалениями и комментариями, созданными с помощью функции Microsoft Word «Отслеживать изменения». Значение может быть "принять", "отклонить" или "все", чтобы включить или удалить изменения, внесенные в документ. Результат - плоский файл.
Дополнительные параметры см. В документации и на странице руководства Pandoc.
Резюме
Конверсия между Markdown и DOCX больше не является загадкой. Это делается за несколько шагов и работает очень хорошо. Удачного взлома 🙂
Ссылки и ссылки
* [1] Markdown
* [2] Франк Хофманн: Введение в Markdown
* [3] Пандок
Благодарности
Автор благодарит Аннет Калбоу за помощь при подготовке статьи.