Вопрос или проблема
Я использую Taskwarrior в основном для отслеживания книг, которые я читаю и хочу прочитать (на самом деле уже несколько лет), поэтому проекты основаны на жанрах книг, а настроенные поля также связаны с книгами в целом.
Документация Taskwarrior просто утверждает, что программа создает файл .taskrc
с задачами и настройками внутри папки .task
. Мне было интересно: возможно ли установить новый файл задач в другом месте за пределами home
и указать Taskwarrior читать его при вызове командной строки, чтобы мне не пришлось смешивать два списка?
Вы можете сделать это, установив переменную окружения TASKDATA
при запуске задачи.
➜ ~ TASKDATA=~/test task add test1
TASKDATA override: /home/tom/test
Создана задача 1.
Добавление задачи в вашу обычную среду:
➜ ~ TASKDATA=~/.task task add test1
TASKDATA override: /home/tom/.task
Создана задача 354.
Тем не менее, я не думаю, что вам стоит использовать Taskwarrior таким образом. Taskwarrior поддерживает фильтрацию задач с помощью контекстов. Это позволяет фильтровать задачи на основе тегов и проектов, что, похоже, именно то, что вы хотите сделать.
Вы можете добавить следующее в ваш .taskrc
, чтобы создать контекст fiction
:
context.fiction+=+fiction or pro:fiction.
Теперь, если вы выполните task context fiction
, только задачи, которые имеют тег fiction
или назначены проекту fiction
, будут отображаться при запуске task
.
.
Ответ или решение
Использование Taskwarrior для управления разными наборами данных, такими как списки книг и другие личные задачи, требует продуманного подхода. В данной ситуации у вас возникает необходимость разделить ваши задачи, чтобы избежать их смешивания. Одним из способов решения этой проблемы является использование разных файлов данных Taskwarrior, что позволит вам отделить и организовать задачи по двум различным направлениям.
Теория
Taskwarrior — это мощный инструмент командной строки для управления задачами, который по умолчанию хранит свои данные в папке .task
в вашем домашнем каталоге. Основные элементы конфигурации хранятся в файле .taskrc
. Однако, Taskwarrior предоставляет некоторые возможности для переопределения стандартного местоположения файла данных задач, что позволяет пользователю гибко адаптировать инструмент под свои нужды. Одним из таких способов является использование переменной окружения TASKDATA
.
Пример
Рассмотрим пример использования переменной TASKDATA
, который решает указанную задачу:
-
Создание новой директории для книг: Для хранения задач, связанных с книгами, создайте новую папку, например
books
в вашем домашнем каталоге.mkdir ~/books
-
Использование переменной TASKDATA: При добавлении задач, связанных с книгами, можно временно переопределять путь к данным с помощью переменной окружения:
TASKDATA=~/books task add "Прочитать 'Войну и мир'"
То же самое можно использовать для добавления новых задач в вашу обычную рабочую среду:
TASKDATA=~/.task task add "Завершить проект"
-
Управление несколькими набором данных: в зависимости от того, какую группу задач вы хотите просмотреть, можно указывать переменную окружения перед вызовом команды
task
, что позволяет переключаться между различными контекстами задач.
Применение
Хотя использование переменной TASKDATA
является мощным методом разделения данных, Taskwarrior также предоставляет другие инструменты, такие как контексты, которые могут быть полезны в управлении задачами в более интегрированной форме.
Контексты позволяют фильтровать задачи в зависимости от определённых параметров, таких как теги или проекты. Добавив в свой .taskrc
следующее:
context.books=+book
Вы можете активировать этот контекст командой task context books
, что позволит вам работать только с задачами, отнесёнными к книгам. Это может быть полезной альтернативой, если ваши задачи по разным направлениям иногда пересекаются и их стоит рассматривать в одном контексте.
Таким образом, использование переменной TASKDATA
подходит для чёткого разделения и физического разбиения ваших данных. В то же время, использование контекстов подходит для логического разделения, когда нужно фильтровать и концентрироваться на отдельных аспектах задач в течение одного сеанса командной оболочки.
Заключение
Таким образом, Taskwarrior позволяет не только управлять различными наборами данных посредством изменения переменной окружения TASKDATA
, но и предлагает интегрированные средства управления, такие как контексты, которые помогают фильтровать и управлять вашими задачами более гибко. Выбор между физическим разделением через разные файлы данных или логическим фильтрованием через контексты зависит от ваших потребностей и привычек в управлении задачами. Эти возможности дают Taskwarrior гибкость, необходимую для адаптации к различным сценариям использования, будь то управление чтением книг или обработка более сложных профессиональных проектов.