Org Mode (также: org-mode ; [2] / ˈɔːrɡm oʊd / ) — режим редактирования, форматирования и организации документов в свободном текстовом редакторе GNU Emacs и его производных, разработанный для заметок , планирования и авторинга . Название используется для обозначения простых текстовых файлов ( « org-файлов»), которые включают простые метки для обозначения уровней иерархии (например, план эссе, список тем с подтемами, вложенный компьютерный код и т. д.), а также редактора с функциями, которые могут читать разметку и управлять элементами иерархии (разворачивать/скрывать элементы, перемещать блоки элементов, отмечать пункты списка дел и т. д.).
Org Mode был создан Карстеном Домиником в 2003 году, изначально для организации собственной жизни и работы, [3] и с момента первого выпуска многочисленные другие пользователи и разработчики внесли свой вклад в этот бесплатный программный пакет. [4] Emacs включил Org Mode [5] как основной режим по умолчанию с 2006 года. Бастьен Герри является его текущим сопровождающим в сотрудничестве с активным сообществом разработчиков . [6] После его успеха в Emacs некоторые другие системы теперь предоставляют функции для работы с org-файлами. [7] [8]
Почти ортогонально Org Mode имеет функциональные возможности, направленные на выполнение кода на различных внешних языках; эти функциональные возможности образуют org-babel. [9] [10]
Домашняя страница Org Mode объясняет, что «по своей сути Org Mode — это простой планировщик для создания заметок и управления списками». [11] Автор системы Org Карстен Доминик объясняет, что «Org Mode выполняет планирование , создание заметок , гиперссылок , электронных таблиц , списков TODO , планирование проектов , GTD , HTML и LaTeX- авторство, и все это с помощью простых текстовых файлов в Emacs». [12]
Система Org основана на простых текстовых файлах с простой разметкой, что делает файлы очень переносимыми. Linux Information Project поясняет, что «Обычный текст поддерживается почти каждой прикладной программой в каждой операционной системе». [13]
Система включает в себя облегченный язык разметки для простых текстовых файлов (по функциям аналогичный Markdown , reStructuredText , Textile и т. д., но с другой реализацией), позволяющий иерархически разделять, помечать тегами, связывать и т. д. строки или разделы простого текста.
В этом разделе приведены некоторые примеры использования иерархического отображения и редактирования простого текста.
Документ org-mode также может быть экспортирован в различные форматы (включая HTML , LaTeX , OpenDocument или простой текст), эти форматы используются для отображения структурной схемы соответствующим образом (включая перекрестные ссылки, если необходимо). Он также может использовать форматирование разметки (включая LaTeX для математики) с возможностями, аналогичными тем, что присутствуют в Markdown или LaTeX, таким образом предлагая альтернативу этим инструментам.
Org Mode предоставляет возможность вставлять исходный код в редактируемый документ, который автоматически экспортируется и/или выполняется при экспорте документа; результаты, полученные этим кодом, могут быть автоматически извлечены обратно в результирующий вывод.
Этот исходный код может быть структурирован в виде повторно используемых фрагментов, вставленных в исходный документ в месте, необходимом для логического изложения, что позволяет этому изложению быть независимым от структуры, необходимой компилятору/интерпретатору.
Вместе с возможностями разметки org-mode эти две функции позволяют
По состоянию на июнь 2021 года org-babel напрямую поддерживает более 70 языков программирования или программируемых средств, а более 20 других инструментов можно использовать через дополнительные пакеты или драйверы. [16]
Org Mode имеет некоторые функции для экспорта в другие форматы, а другие системы имеют некоторые функции для обработки форматов org-mode. Кроме того, полнофункциональный текстовый редактор может иметь функции для обработки вики, личных контактов, электронной почты, календарей и т. д.; поскольку org-mode — это просто обычный текст, эти функции также могут быть интегрированы в документы org-mode.
Из org-mode дополнительные пакеты экспортируются в другие форматы разметки , такие как MediaWiki (org-export-generic, org-export), в системы обучения с использованием карточек , реализующие алгоритмы SuperMemo (org-drill, org-learn). [ 17]
За пределами редакторов org-mode разметка org поддерживается репозиториями кода GitLab , GitHub [18] и Gitea , системой отслеживания ошибок JIRA [19] , Pandoc и другими.
Org поддерживает экспорт в различные форматы. Ниже вы можете найти примеры фрагментов Org, экспортированных в ряд форматов. Другие форматы поддерживаются специальными пакетами.