Привет всем!
Долгое время я пытался найти решение проблемы организации различного рода информации:
Ниже, я описал (знакомые мне) средства, которые могут быть использованы для решения этих задач. Лично для себя выбрал Emacs Org Mode, так что именно его описанию уделена большая часть текста.
Если вкратце, то Org Mode — это plain-text версия ToDoList (если совсем строго, то верно обратное), это режим Emacs для содержания коротких заметок, TODO-списков, для планирования проектов, а также для организации любой информации, которую можно представить текстом и в виде дерева. Собственно, представление информации в виде дерева, ее упорядочивание, сортировка — основная задача Org Mode.
Org Mode реализован поверх outline-mode, что позволяет сворачивать деревья и их ветви. Вся информация представлена в Org Mode в виде деревьев, в которые организованы TODO-записи и обычные заголовки. Заголовок — обычная строка текста с предшествующими звезочками (*). Количество звездочек — уровень вложенности заголовка. Если перед текстом, но после звездочки написать TODO, это уже TODO-запись, и с ней можно делать на порядок больше вещей, чем с обычной.
Под заголовком может быть произвольный текст, другие заголовки, ссылки и таблицы. Кстати, ссылки и таблицы — это еще две отдельные истории! Ссылки позволяют в удобном виде [[url][title]] создавать ссылки на любые элементы файловой системы, веб-ресурсы, ссылки mailto и usenet, а также ссылки на Org-элементы текущего или любого другого файла. Очень удобный функционал. Лично я с помощью ссылок в Org Mode упорядочил свою e-библиотеку.
Таблицы — никогда не думал, что в текстовом режиме (все файлы Org Mode — простые текстовые файлы) можно реализовать такое количество функций для работы с таблицами: автоматическое расширение столбцов, обмен позиций у строк, столбцов, высчитываемые ячейки, формулы — не Excel конечно, но зато все это делается без отрыва пальцев от основного блока клавиатуры, это ведь Emacs!
Agenda Views. Для просмотра запланированных на сегодня / на текущую неделю дел, или же просто списка всех TODO, Org Mode содержит Agenda views — можно назвать это повесткой дня/недели. Можно настроить список файлов, из которых Agenda будет собирать информацию. Планирование задач — это фактически расставление заголовкам статусов и timestamp-ов.
Что еще… Файлы Org Mode могут быть экспортированы в HTML, LaTeX, iCalendar и Freemind файлы, в нем есть поддержка планирования (различные timestamps, deadlines, повторяющиеся задания и т.д.), любым заголовкам можно присвоить произвольные статусы, теги и свойства, можно задавать произвольные линейки статусов (TODO — WAIT — DONE, DEVEL — TESTING — BUG — DONE, ...).
Внешний вид Org Mode — список e-книг «чтоб-были-под-рукой» (хотел вставить скриншот трекера проектов, но не нашел несекретной :) информации):
Здесь фактически комментарии к части содержимого моего .emacs:
(custom-set-variables
Настройка переменных Org Mode — списка файлов для Agenda Views, директории по умолчанию для Org Mode и файла заметок по умолчанию:
'(org-agenda-files (quote («p:/documents/org/fto.org»)))
'(org-default-notes-file «p:/documents/notes»)
'(org-directory «p:/documents/org»)
)
Подключение Org Mode:
(require 'org-install)
Включение автоматического переключения в Org Mode при открытии файла с расширением .org:
(add-to-list 'auto-mode-alist '("\\.org\\'". org-mode))
Несколько удобных shortcuts для сохранения ссылки на текущий заголовок и запуска org-agenda:
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
Задание цепочек ключевых слов (переключение между словами клавишами Shift + Right или + Left с курсором на заголовке). "|" отмечает границу, если заголовок в статусе после этого разделителя, то он «выполнен», это влияет на планирование и отображение в Agenda Views:
(setq org-todo-keywords
'((sequence «TODO» «WAIT» "|" «DONE»)
Здесь — анализ, первичная разработка, тестирование консультантом, доработка, польз. тестирование, отказ от разработки и перенос на боевое окружение :) :
(sequence «ANLZ» «FDEV» «CTST» «RDEV» «UTST» "|" «CNCL» «TRNS»)
)
Задание произвольного начертания ключевым словам:
(setq org-todo-keyword-faces
'((«TODO». (:foreground «red» :weight bold))
(«WAIT». (:foreground «orange» :weight bold))
(«DONE». (:foreground «green» :weight bold)))
)
Требуется для корректной работы Org Mode:
(global-font-lock-mode 1)
Об этом в следущем посте быть может :) :
(require 'mercurial)
А это тема с картинки :) :
(require 'color-theme)
(color-theme-initialize)
(color-theme-charcoal-black)
Теперь доступ к своему файлу вы сможете получить через M-x org-my
(defun org-my()
(interactive)
(find-file «p:/documents/org/default.org»)
)
Замечу, что возможно некоторые настройки не будут работать в версии Org Mode по умолчанию, в любом случае стоит скачать свежую.
Спасибо за внимание, надеюсь, что кто-нибудь, как и я, найдет для себя в Org Mode кучу полезных возможностей. Вот кстати еще пара интересных линков: Using Emacs org-mode for GTD, Using org-mode as a Day Planner, на английском.
Если же вам все-таки хочется чего-нибудь попроще и с нормальным GUI, а также не хочется начинать пользоваться Emacs, что поначалу бывает болезненно — предлагаю как альтернативу ToDoList.
Долгое время я пытался найти решение проблемы организации различного рода информации:
- Личных и рабочих проектов — трекер проектов, документация, разделение на этапы, структуризация, приоритеты, риски, состояние отдельных этапов.
- Простых TODO-списков — ведение списков дел в условиях сильного распараллеливания деятельности. Причем, чтобы обязательно было быстро, удобно, функционально и всегда под рукой.
- Личной библиотеки — упорядочение огромного количества e-книг по категориям (со вложенными) + легкий доступ к ним чтобы был. Здесь сначала пытался просто понятно выстроить структуру папок, но масштабы уже не те, чтобы можно было потом быстро найти нужную книгу.
Ниже, я описал (знакомые мне) средства, которые могут быть использованы для решения этих задач. Лично для себя выбрал Emacs Org Mode, так что именно его описанию уделена большая часть текста.
- Microsoft Office Project — от этого варианта отказался сразу, слишком громоздкий и не подходит для всех описанных задач. IMHO, в нем нормально можно только планы проектов составлять, да и то не для себя, а на корпоработе, когда важно пользоваться стандартным средством.
- ToDoList — великолепная вещь, после первого знакомства (натолкнулся случайно на CodeProject.Com) не прекращал пользоваться, периодически обновляясь. У программы богатые возможности организации, графический интерфейс и прекрасное юзабилити. Написано это дело на MFC, то есть родной средой для него является Windows. Текущая версия (5.5 + еще пара цифр) имеет просто все, что нужно, а также весьма стабильна (впрочем, у меня ToDoList еще с 4-х версий ни разу не падал). Есть импорт и экспорт из/в кучу форматов, включая MS Project. Есть возможность, называемая «Transform tasklist» — как пример, можно по шаблону сохранить список в html по выбранным фильтрам. Также возможно отфильтровать видимые задания по категориям, типам, выполнению, риску, ответственному и приоритету. Еще стоит упомянуть, что программа отлично масштабируется под ваши нужды — можно скрыть большинство полей и придать ей компактный вид, и я не знаю задач, которые потребовали бы больше фунциональности и атрибутов, чем имеется в этой программе. Таже она полностью portable, т.е. можно носить на флешке и freeware (исходные коды доступны на codeproject). В общем, рекомендую всем, кому вдруг не понравится о_О следующий вариант.
- Emacs Org Mode — всем пользователям Emacs посвящается! Мое мнение — наличия Org Mode в Emacs достаточно, чтобы начать пользоваться им, особенно если вы приверженец простоты работы с простым (plain) текстом простыми клавиатурными комбинациями. Как только я ввел команду
M-x org-mode
я забыл про ToDoList (что не делает его плохой программой). В Emacs версий 22 (насчет более старых не уверен) присутствует, хоть и устаревшая (4.67c), но вполне работоспособная версия Org Mode. Краткое описание привожу ниже, а полный манул можно найти на OrgMode.Org, там же скачать свежую версию.
Emacs Org Mode
Если вкратце, то Org Mode — это plain-text версия ToDoList (если совсем строго, то верно обратное), это режим Emacs для содержания коротких заметок, TODO-списков, для планирования проектов, а также для организации любой информации, которую можно представить текстом и в виде дерева. Собственно, представление информации в виде дерева, ее упорядочивание, сортировка — основная задача Org Mode.
Org Mode реализован поверх outline-mode, что позволяет сворачивать деревья и их ветви. Вся информация представлена в Org Mode в виде деревьев, в которые организованы TODO-записи и обычные заголовки. Заголовок — обычная строка текста с предшествующими звезочками (*). Количество звездочек — уровень вложенности заголовка. Если перед текстом, но после звездочки написать TODO, это уже TODO-запись, и с ней можно делать на порядок больше вещей, чем с обычной.
Под заголовком может быть произвольный текст, другие заголовки, ссылки и таблицы. Кстати, ссылки и таблицы — это еще две отдельные истории! Ссылки позволяют в удобном виде [[url][title]] создавать ссылки на любые элементы файловой системы, веб-ресурсы, ссылки mailto и usenet, а также ссылки на Org-элементы текущего или любого другого файла. Очень удобный функционал. Лично я с помощью ссылок в Org Mode упорядочил свою e-библиотеку.
Таблицы — никогда не думал, что в текстовом режиме (все файлы Org Mode — простые текстовые файлы) можно реализовать такое количество функций для работы с таблицами: автоматическое расширение столбцов, обмен позиций у строк, столбцов, высчитываемые ячейки, формулы — не Excel конечно, но зато все это делается без отрыва пальцев от основного блока клавиатуры, это ведь Emacs!
Agenda Views. Для просмотра запланированных на сегодня / на текущую неделю дел, или же просто списка всех TODO, Org Mode содержит Agenda views — можно назвать это повесткой дня/недели. Можно настроить список файлов, из которых Agenda будет собирать информацию. Планирование задач — это фактически расставление заголовкам статусов и timestamp-ов.
Что еще… Файлы Org Mode могут быть экспортированы в HTML, LaTeX, iCalendar и Freemind файлы, в нем есть поддержка планирования (различные timestamps, deadlines, повторяющиеся задания и т.д.), любым заголовкам можно присвоить произвольные статусы, теги и свойства, можно задавать произвольные линейки статусов (TODO — WAIT — DONE, DEVEL — TESTING — BUG — DONE, ...).
Внешний вид Org Mode — список e-книг «чтоб-были-под-рукой» (хотел вставить скриншот трекера проектов, но не нашел несекретной :) информации):
Примеры настройки Org Mode
Здесь фактически комментарии к части содержимого моего .emacs:
(custom-set-variables
Настройка переменных Org Mode — списка файлов для Agenda Views, директории по умолчанию для Org Mode и файла заметок по умолчанию:
'(org-agenda-files (quote («p:/documents/org/fto.org»)))
'(org-default-notes-file «p:/documents/notes»)
'(org-directory «p:/documents/org»)
)
Подключение Org Mode:
(require 'org-install)
Включение автоматического переключения в Org Mode при открытии файла с расширением .org:
(add-to-list 'auto-mode-alist '("\\.org\\'". org-mode))
Несколько удобных shortcuts для сохранения ссылки на текущий заголовок и запуска org-agenda:
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
Задание цепочек ключевых слов (переключение между словами клавишами Shift + Right или + Left с курсором на заголовке). "|" отмечает границу, если заголовок в статусе после этого разделителя, то он «выполнен», это влияет на планирование и отображение в Agenda Views:
(setq org-todo-keywords
'((sequence «TODO» «WAIT» "|" «DONE»)
Здесь — анализ, первичная разработка, тестирование консультантом, доработка, польз. тестирование, отказ от разработки и перенос на боевое окружение :) :
(sequence «ANLZ» «FDEV» «CTST» «RDEV» «UTST» "|" «CNCL» «TRNS»)
)
Задание произвольного начертания ключевым словам:
(setq org-todo-keyword-faces
'((«TODO». (:foreground «red» :weight bold))
(«WAIT». (:foreground «orange» :weight bold))
(«DONE». (:foreground «green» :weight bold)))
)
Требуется для корректной работы Org Mode:
(global-font-lock-mode 1)
Об этом в следущем посте быть может :) :
(require 'mercurial)
А это тема с картинки :) :
(require 'color-theme)
(color-theme-initialize)
(color-theme-charcoal-black)
Теперь доступ к своему файлу вы сможете получить через M-x org-my
(defun org-my()
(interactive)
(find-file «p:/documents/org/default.org»)
)
Замечу, что возможно некоторые настройки не будут работать в версии Org Mode по умолчанию, в любом случае стоит скачать свежую.
Спасибо за внимание, надеюсь, что кто-нибудь, как и я, найдет для себя в Org Mode кучу полезных возможностей. Вот кстати еще пара интересных линков: Using Emacs org-mode for GTD, Using org-mode as a Day Planner, на английском.
Если же вам все-таки хочется чего-нибудь попроще и с нормальным GUI, а также не хочется начинать пользоваться Emacs, что поначалу бывает болезненно — предлагаю как альтернативу ToDoList.