Одной из часто упоминаемых проблем с переходом на Linux является совместимость файлов. Вы неизменно будете отправлять пользователям файлы других операционных систем, и они не будут выглядеть одинаково при открытии в таких приложениях, как Word. Хотя вы можете установить шрифты или попробовать виртуальные машины или эмуляторы, чтобы убедиться, что все выглядит единообразно, другой подход — выполнить свою работу в текстовом формате, а затем преобразовать ее после того, как вы закончите.
Одним из инструментов, который вы можете использовать для преобразования между форматами, является pandoc, необходимый инструмент в наборе инструментов любого пользователя Linux.
Базовая установка и использование Pandoc
Установка pandoc в большинстве дистрибутивов Linux — это простая поездка в репозитории. В системах на основе Ubuntu следующая команда установит его для вас:
sudo apt-get install pandoc
После установки вы можете начать использовать программу командной строки для преобразования файлов. Отлично справляется с Markdown и другими легкими языками разметки, если у вас есть файл .MD , вы можете преобразовать его в HTML с помощью следующего:
pandoc -o myfile.html myfile.md
Флаг -o указывает имя выходного файла, который вы хотите. В этом случае он также выводит формат вывода (HTML) по расширению имени файла. Вы можете использовать флаги -r (для чтения ) и -w (для записи ), чтобы сообщить pandoc тип конверсии, который вы хотите. Предположим, вы привыкли писать в Markdown, но вам нужно что-то опубликовать на странице на MediaWiki:
pandoc -r markdown -w mediawiki -o markdown.wiki markdown.md
В своих более ранних версиях pandoc фокусировался на «обновлении» файлов, в том смысле, что он мог конвертировать более простые форматы (такие как Markdown) в более сложные (например, ODT или Microsoft DOCX). Но теперь он будет читать и эти более сложные форматы. Это означает, что если вы привыкли к текстовому процессору, но соблазнены всеми причинами использовать меньший и более портативный текстовый формат стало намного проще.
Учитывая каталог, полный файлов Word, следующая команда преобразует каждый из них в Markdown:
for file in * do pandoc -r docx -w markdown -o "$file".md "$file" done
Обратите внимание, что в результате у вас останутся файлы с именем filename.docx.md , поэтому вам нужно будет выполнить команду быстрого переименования (или, что еще лучше, добавить ее к описанному выше в качестве сценария оболочки. ).
Параметры командной строки Pandoc
Теперь, когда у вас есть некоторые основы, мы рассмотрим некоторые более продвинутые опции параметров командной строки pandoc.
Справочные файлы ODT / DOCX
Предположим, вы преобразовали все свои старые, громоздкие файлы текстового процессора в Markdown. Пока вы наслаждаетесь радостью от написания простого текста, в какой-то момент вам нужно будет поделиться этим с кем-то. И этот кто-то может быть не так просвещен, как вы. Вы можете просто поменять флаги чтения и записи, чтобы преобразовать файл обратно в формат Word:
pandoc -r markdown -w docx -o wordfile.docx wordfile.md
Но некоторым людям нравятся их файлы Word с определенными шрифтами, пронумерованными заголовками и т. Д. Бэкэнд Pandoc DOCX поддерживает файлы шаблонов, называемые ссылочными файлами , как раз для такого случая. Это файлы ODT или DOCX, которые вы настроили со всем необходимым стилем. Затем pandoc применяет эти стили при преобразовании, если вы передаете ему ссылочный файл в командной строке:
pandoc -r markdown -w odt --reference-odt=/home/user/path/to/ref-file.odt -o lowriter.odt lowriter.md
Обратите внимание, как шрифты, настроенные в справочном файле выше (Arial Black для заголовка 1 и т. Д.) Отображаются в преобразованном файле ниже. Вы можете создать столько эталонных файлов, сколько вам нужно (например, один для каждого клиента). Затем полностью игнорируйте форматирование во время написания и применяйте стили за один шаг при конвертации.
Бэкэнд рендеринга PDF
Создание PDF-файлов также является простым упражнением после установки необходимых пакетов. Облегченный способ получить возможность записи в формате PDF — установить пакет wkhtmltopdf , инструмент командной строки для преобразования HTML в PDF. Pandoc изначально поддерживает это, поэтому, если вы установите флаг записи в HTML, а выходной файл — в формате PDF, он будет интерпретировать это как ваше намерение использовать wkhtmltopdf сам по себе!
pandoc -r markdown -w html -o nicepub.pdf nicepub.md
В качестве альтернативы, вы можете выбрать полнофункциональный вариант, используя систему набора текста TeTex. Воспользуйтесь тем фактом, что эти пакеты являются рекомендуемыми для установки пакета pandoc, переустановив их с помощью следующей команды:
sudo apt-get install --install-suggests pandoc
Затем откиньтесь на спинку кресла, пока много (на самом деле, много) пакетов устанавливаются. Как только они будут завершены, вы можете конвертировать ваш файл напрямую в PDF, указав его в качестве флага записи :
pandoc -r markdown -w pdf -o nicepub-tetex.pdf nicepub.md
Хотя для опции wkhtmltopdf требуется установить только один пакет, вы можете получить более удобные для печати результаты с TeTex. А именно, шрифты с засечками используются по умолчанию, а страницы автоматически нумеруются.
Генератор электронных книг
Наконец, pandoc может конвертировать ваши файлы в электронные книги, подходящие для чтения на телефоне или в электронном ридере. . Серверы epub и epub3 дадут вам правильно отформатированную электронную книгу:
pandoc -r markdown -w epub -o mybook.epub mybook.md
Дополнительные советы
Преимущества pandoc выходят за рамки его возможностей как утилиты командной строки … например, она включает поддержку улучшенной версии Markdown и может быть легко интегрирована с графическими приложениями.
Уценка Пандока
Помимо того, что pandoc является инструментом конвертации, он поддерживает слегка улучшенную версию Markdown. Используя pandoc вместо стандартной команды markdown, вы получаете некоторые дополнительные функции, включая следующие:
- Метаданные — вариант Markdown, разработанный Pandoc, позволяет включать в заголовок документа такие сведения, как автор, дата, адрес электронной почты и т. Д.
- Декорации текста — Вы можете применять декорации текста, такие как зачеркивание или супер / подписка, которые не поддерживаются в стандартной Markdown через pandoc.
- Таблицы — только это делает pandoc стоящим по сравнению с «ванильной» уценкой. Используя символ конвейера для разделения ячеек таблицы, вы можете создать таблицу, которая варьируется от действительно уродливой до удобочитаемой как в обычном тексте, так и в визуализированном формате.
- Необычные списки — Pandoc позволяет форматировать списки с уровнями стиля контура, например, «1.», затем «A.», затем «i.» И т. Д. Вы также можете указать начальный номер для списков, где списки отображаются в виде простой разметки. начать с «1»
- Подсветка синтаксиса кода — Вы можете применить подсветку к вашим блокам кода, сообщив pandoc, на каком языке вы говорите.
Выше приведены только некоторые функции Pandoc Markdown. Посетите страницу руководства на pandoc.org для получения полного списка дополнительных возможностей, предоставляемых этим вариантом Markdown.
Используйте графический интерфейс с Pandoc
Хотя pandoc эффективен в качестве инструмента командной строки, он содержит много опций. Если вы новичок в Linux, вы можете использовать pandoc с графическим интерфейсом. Хотя по умолчанию он не содержит графического интерфейса, вы можете установить PanDocElectrion для преобразования ваших документов с помощью простого щелчка. Загрузите скрипт установки с веб-сайта приложения , затем запустите его, чтобы установить все необходимые пакеты и саму программу.
После установки команда npm start в каталоге PanDocElectron запустит приложение. Благодаря выпадающим спискам форматов и возможности выбора входного файла с помощью диалогового окна это поможет вам привыкнуть к «входам и выходам» pandoc.
Если вы знакомы с множеством опций и флагов pandoc, но просто хотите, чтобы он легко вызывался, вы можете интегрировать его с текстовым редактором GUI. Например, редактор Atom содержит несколько пакетов, которые позволяют сохранить текущий файл в различных форматах с помощью pandoc ( пакет pandoc-convert ):
Другой вариант — запускать команды pandoc, используя встроенные функции редактора, такие как команда build. Пакет инструментов сборки Atom дает вам возможность задавать пользовательские команды:
Затем вы можете вызвать команду build для ваших файлов, совместимых с pandoc, так же, как и для исходного кода:
Пандок снимает стресс от переключения
С pandoc в вашем наборе вы можете быть спокойны, зная, что вы всегда можете передать свои документы другим людям в нужном им формате. В то же время вы можете воспользоваться некоторыми из замечательных возможностей Linux (подумайте о том, чтобы попробовать один из текстовых редакторов на основе терминала, например, vim ).
Вы часто конвертируете файлы назад и вперед между форматами? Если вы столкнулись с проблемами совместимости, сообщите нам об этом в комментариях, и мы посмотрим, сможем ли мы использовать pandoc, чтобы разобраться с вами!
Изображение предоставлено: Nirat.pix через Shutterstock.com