У цій статті ми розглянемо перетворення між 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 - це бібліотека Хаскелла, і вона описує себе як "універсальний перетворювач документів" або "швейцарський армійський ніж для перетворення документів". Він доступний для різних платформ, таких як Linux, Microsoft Windows, Mac OS X та BSD. Pandoc зазвичай входить у пакет для таких дистрибутивів Linux, як Debian GNU / Linux, Ubuntu та CentOS.
Простий виклик для перетворення такий:
$ pandoc -o тест.тест docx.mdПерший параметр '-o' відноситься до вихідного файлу, за яким слідує ім'я файлу ('test.docx '). Розширення файлу допомагає pandoc визначити бажаний формат виводу. Другий параметр називає вхідний файл - у нашому випадку це просто 'test.md '.
Довга версія команди, показана вище, містить два параметри '-f markdown' і '-t docx'. Перший скорочує термін "аромат" та описує формат вхідного файлу. Другий робить те саме для вихідного файлу і скорочує '-to'.
Повна команда така:
$ pandoc -o тест.docx -f націнка -t docx тест.mdВідкриття перетвореного файлу за допомогою Microsoft Word призводить до таких результатів:
Для різних елементів тексту Pandoc використовує таблиці стилів. Це дозволяє пізніше коригувати ці елементи відповідно до ваших потреб у всьому документі. Новіші версії Pandoc також пропонують навпаки - ви можете перетворити файл DOCX у Markdown наступним чином:
$ pandoc -o тест.тест md.docxТоді сформований файл має такий вміст:
Рекомендовані місця для відвідування в Європі=======================================
Франція
------
Це вибір місць:
- Париж (* Іль-де-Франс *)
- Страсбург (* Ельзас *)
Для правильного плану відвідування близько тижня.
Корисні параметри командного рядка
Список варіантів Pandoc досить довгий. Наступні допоможуть вам досягти кращих результатів та значно полегшать ваше життя:
* '-P' (довга версія '-preserve-tabs'): зберегти вкладки замість того, щоб перетворювати їх у пробіли. Це корисно для блоків коду з відступами, які є частиною вашого тексту.
* '-S' (довга версія '-smart'): Вивести типографічно правильний результат.
Цей параметр виправляє лапки, дефіси / тире, а також еліпси («…»). Додаткові, нерозривні пробіли додаються після певних скорочень, таких як “Mr.".
* '-track-changes = value': визначає, що робити зі вставками, видаленнями та коментарями, які створюються за допомогою функції "Відстеження змін" у Microsoft Word. Значення може бути як прийняти, відхилити, так і все, щоб включити або видалити зміни, внесені в документ. В результаті виходить плоский файл.
Щоб отримати додаткові варіанти, перегляньте документацію та сторінку керівництва Pandoc.
Резюме
Перетворення між Markdown та DOCX більше не є загадкою. Це робиться за кілька кроків і працює дуже добре. Щасливого злому 🙂
Посилання та посилання
* [1] Націнка
* [2] Френк Гофман: Вступ до Markdown
* [3] Pandoc
Подяка
Автор висловлює подяку Аннет Калбоу за допомогу під час підготовки статті.