Pandoc отмечает 20-летие в качестве универсального конвертера документов
Инструмент с открытым исходным кодом Pandoc, широко используется для преобразования документов из одного формата разметки в другой и в форматы публикации, отмечает свое 20-летие.
Первоначальная версия была выпущена 3 августа 2006 года и поставлялась с лицензией GPL. Pandoc 0.1 состоял примерно из 3000 строк кода Haskell и был способен конвертировать документы между Markdown, reStructuredText, HTML и LaTeX, а также генерировать выходные данные RTF и S5.
Но, как это часто бывает в кругах разработчиков ПО с открытым исходным кодом, то, что начиналось как личный проект, направленный на изучение Haskell, впоследствии стало одним из самых известных приложений этого языка.
Несмотря на то, что его часто называют просто конвертером документов, Pandoc, точнее говоря, представляет собой программируемую систему обработки документов. Он включает в себя считыватели, которые преобразуют входные форматы в общее абстрактное синтаксическое дерево, и писатели, которые создают желаемый выходной формат из этого внутреннего представления.
Модульная архитектура Pandoc не требует отдельного конвертера для каждой возможной пары форматов; после добавления считывателя и записывающего устройства этот формат может принимать участие в ряде различных комбинаций конвертации. Более того, пользователи имеют возможность изменять структуру промежуточного документа с помощью пользовательских фильтров и встроенной поддержки скриптов Lua.
В настоящее время программное обеспечение поддерживает большое количество форматов разметки, обработки текста, академических, презентационных и издательских форматов, таких как Markdown, HTML, LaTeX, DOCX, ODT, EPUB, AsciiDoc, reStructuredText, Org Mode, Typst, Jupyter Notebook, PowerPoint, DocBook, JATS, а также ряд форматов вики и библиографии.
Проект также вышел далеко за рамки простого преобразования текста. Pandoc способен создавать цитаты и библиографии, обрабатывать математические выражения, использовать шаблоны и справочные документы, создавать презентации и электронные книги и, таким образом, может служить основой для автоматизированных издательских рабочих процессов.
Создатель проекта Макфарлейн утверждает, что за последние двадцать лет было выпущено более 200 версий Pandoc, а четыре его основных пакета теперь включают более 85 000 строк кода Haskell, не считая тестов, при этом в проекте приняли участие более 600 человек и было решено 7346 проблем GitHub.
Последняя версия 3.9 включала новую важную функцию — возможность компиляции приложения в WebAssembly. В результате появилась возможность запускать версию, которая в значительной степени полнофункциональна, непосредственно в веб-браузере без необходимости отправки документов на удаленный сервер.
Статья также затрагивает дискуссию об ИИ. Хотя Макфарлейн признает, что системы искусственного интеллекта уже могут переводить между определенными форматами документов, он утверждает, что Pandoc по-прежнему имеет несколько важных преимуществ: гораздо более низкие потребности в энергии, предсказуемый результат и более надежные преобразования.
В любом случае, на данный момент Pandoc остается одним из самых универсальных издательских инструментов в сообществе разработчиков ПО с открытым исходным кодом. Это одновременно программа командной строки и библиотека Haskell, которая может преобразовывать один структурированный документ в различные форматы, такие как веб-сайт или страница руководства, файл Word, научная статья, презентация или электронная книга.
Более подробную информацию об истории Пандока можно найти на официальном сайте Джона Макфарлейна Ретроспектива 20-летия, а исходный код проекта доступен в официальном Репозиторий GitHub.
Редактор: AndreyEx
Важно: Данная статья носит информационный характер. Автор не несёт ответственности за возможные сбои или ошибки, возникшие при использовании описанного программного обеспечения.