Todolist помогает работать с вашими задачами в терминале. Todolist основан на методе Getting Things Done и умеет работать с проектами, контекстами и сроками задач.
Списки задач зависят от директории, в которой вы работаете с ними — просто держите разные списки дел в разных папках.
Установка
Выберите любой удобный способ:
- brew install todolist — если у вас есть OSX с установленным homebrew.
- Скачайте последний релиз для вашей платформы и скопируйте исполняемый файл todolist в любое место в $PATH.
- Если у вас установлен Golang, запустите команду go get github.com/gammons/todolist.
Быстрый старт
1: Создадим репозиторий todos
Запустите todolist init для создания списка задач в файле .todos.json в текущей директории.
~ todolist init
Todo repo initialized.
2: Добавим несколько задач
Добавить задачу можно командой add или a:
~ todolist add Chat with @bob about +currentProject due tom
Todo added.
~ todolist a +devops update my master password due fri
Todo added.
3: Список задач
Это сердце всей системы. Вы можете фильтровать и группировать ваши задачи. А если встроенная фильтрация не отвечает вашим нуждам, вы даже можете передать вывод в grep!
~ todolist list
all
1 [ ] tomorrow Talk with @bob about the +bigProject
2 [ ] Fri May 13 +devops update my master password
todolist list принимает разные аргументы. Можно отобрать задачи по срокам:
~ todolist list due tom
all
1 [ ] tomorrow Talk with @bob about the +bigProject
Можно сгруппировать по проекту или контексту.
~ todolist list by project
bigProject
1 [ ] tomorrow Talk with @bob about the +bigProject
devops
2 [ ] Fri May 13 +devops update my master password
4: Завершить задачу
Пометить задачу как выполненную можно командой todolist complete или todolist c.
~ todolist complete 1
Todo completed.
~ todolist c 2
Todo completed.
Теперь при выводе списка задач, вы увидите, что все они выполнены:
~ todolist list
all
1 [x] tomorrow Talk with @bob about the +bigProject
2 [x] Fri May 13 +devops update my master password
5: Архивировать выполненные задачи
После выполнения задач, вы можете заархивировать их, чтобы они не отображались при выводе списка.
Вы можете заархивировать каждую задачу индивидуально командой todolist ar [id], но так как у нас сегодня много выполненных задач, мы можем запустить todolist ac, которая отправить в архив все выполненные задачи.
~ todolist ac
All completed todos archived.
Вот и всё! Теперь вы знаете 90{33d8302486bd10b0fde64d2037652320e6f176a736d71849c0427b0d7398501a} функционала Todolist.
Рабочий процесс
Задачи могут принимать 3 состояния:
- Incomplete — Незавершённые задачи
- Complete — Завершённые задачи
- Archived — Архивированные задачи, они не выводятся в списке задач и увидеть их можно командой todolist list archived.
Обычно мы создаём задачу, завершаем её, затем архивируем в конце дня.
Добавление задач
Задачи добавляются командой todolist add или todolist a, затем можно заполнить детали задачи.
- +проекты и @контексты можно вставлять в текст задачи.
- Нужно обязательно указать срок в конце задачи (due date).
Формат Due date
- Для сегодняшних или завтрашних задач вы можете указывать due today и due tomorrow. Или сокращённые команды due tod или due tom.
- Для задач со сроком в течение текущей недели можно писать первые 3 буквы дня (на англ.яз.). Например, due mon или due thu. Todolist всегда ищет дни в будущем, поэтому если сегодня Среда, а вы задали due mon, то срок задачи будет в следующий Понедельник.
- Для указания определённой даты можно указать due may 2 или due 2 may. Месяц должен быть написан в нижнем регистре тремя буквами.
Примеры:
~ todolist a update the staging db with @frank due tom
Todo added.
~ todolist a @pomodoro I need to think about our job tier structure due wed
Todo added.
~ todolist a meet with @jake and @adrian about the +importImprovement project due jun 23
Todo added.
~ todolist l
1 [ ] tomorrow update the staging db with @frank
2 [ ] Wed Jun 22 @pomodoro I need to think about our job tier structure
3 [ ] Thu Jun 23 meet with @jake and @adrian about the +importImprovement project
Завершение задач и возврат к невыполненным
todolist complete [id] или todolist c [id] — завершает задачу с указанным номером.
todolist uncomplete [id] или todolist uc [id] — помечает задачу как невыполненную.
Архивация и возврат из архива
todolist archive [id] или todolist ar [id] — помещает задачу в архив.
todolist unarchive [id] — возвращает задачу из архива.
Вывод списка, фильтрация и группировка задач
todolist list или todolist l — список всех незаархивированных задач
todolist l archived — список задач в архиве
Внимание: по-умолчанию, Todolist всегда скрывает архивированные задачи. Увидеть их вы можете только командой todo list archived.
Отбор по сроку
todolist l agenda — Список задач на сегодня + просроченные
todolist l overdue — Список просроченных задач
todolist l due today или todo l due tod — Список задач на сегодня
todolist l due tomorrow или todo l due tom — Список задач на завтра
Отбор по дню недели
todolist l due mon — Список задач на Понедельник
todolist l due this week — Список задач на всю неделю
Группировка
Задачи можно сгруппировать по проекту или контексту.
todolist l by p — Список задач, сгруппированных по проекту
todolist l by c — Список задач, сгруппированных по контексту
Редактирование задач
Пока Todolist позволяет редактировать только срок задачи. Для полного редактирования задачи лучше удалить её и создать заново.
todolist e [id] due [due] — редактирует срок задачи.
Примеры:
- todolist e 133 due tod — редактируем задачу с номером 133 и задаём срок на сегодня.
- todolist e 56 due jun 20 — редактируем задачу с номером 56 и задаём срок на 20 июня.
Expanding existing todos
Todolist поддерживает расширение существующих списков задач с добавлением недостающих деталей. Синтаксис такой:
todolist ex [id] +[project]: todo1[,todo2…]
Если в списке есть такая задача:
13 [ ] Sat Jan 28 Write the thesis
Попробуем расширить её, добавив деталей:
- todolist ex 13 +thesis: get latex template due Jan 22, meet prof. due Jan 23, organize data due Jan 24, Introduction and Abstract due Jan 27
Список станет таким:
14 [ ] Sun Jan 22 get latex template
15 [ ] Mon Jan 23 meet prof.
16 [ ] Tue Jan 24 organize data
17 [ ] Wed Jan 25 Introduction and Abstract
Удаление задач
todolist delete [id] или todolist d [id].
Web-представление
todolist web
Эта команда запустит лёгкий веб-сервер по адресу http://localhost:7890, где вы можете управлять своими задачами в красивом представлении.
Демо-версию можно посмотреть здесь.
Формат файла .todos.json
В .todos.json в очень простом формате хранятся все задачи из текущей директории. Пример файла .todos.json:
[{
"id": 110,
"subject": "+toVerify did @scott put zuora alerting in place?",
"projects": [
"toVerify"
],
"contexts": [
"scott"
],
"due": "2016-05-23",
"completed": false,
"archived": false
}]
Заключение
Я обожаю утилиты, соответствующие философии Unix. Будучи уверенным пользователем Wunderlist, я планировал переписать 30{33d8302486bd10b0fde64d2037652320e6f176a736d71849c0427b0d7398501a} возможностей Wunderlist, оставив только те, которые я использовал, в простой консольной утилите.
Чем это отличается от todo.txt?
todo.txt это превосходный инструмент с великолепной экосистемой, но он мне не подошёл. Мне нужны были даты в задачах и некоторые другие параметры, а по-умолчанию в todo.txt не было такого функционала. Я верю в то, что Todolist концептуально ближе к тому, как «крупные» todo-компании делают это, например, Wunderlist, Todoist и т.д.
Источник