org-project
provides functions for the creation of org-mode TODOs that are associated with Emacs projects.
This package is originally forked from and now heavily based on org-projectile.
Installation from MELPA should be shortly available.
Before using org-project, you must specify the file you would like to use for storing projects TODOs
. You may also wish to bind keys to org-project
function in project-prefix-map
. It is recommended that you start with the following configuration:
(use-package org-project
:straight (org-project :type git :host github :repo "delehef/org-project"))
(use-package org-project
:straight (org-project :type git :host github :repo "delehef/org-project")
:custom
;; If invoked outside of a project, prompt for a valid project to capture for
(org-project-prompt-for-project t)
;; Store all TODOs in a ORG_DIRECTORY/project.org
(org-project-todos-per-project nil)
(org-project-todos-file (concat org-directory "/projects.org"))
;; Or use a single file per project, PROJECT_ROOT/todos.org
;; (org-project-todos-per-project t)
;; (org-project-per-project-file "todos.org")
;; Use custom capture templates
(org-project-capture-template "* TODO %?\n%t\n") ;; Ask for a TODO and a date
(org-project-quick-capture-template "* TODO %? %(org-insert-time-stamp (org-read-date nil t \"+2d\"))\n") ;; Quick TODOs ae scheduled in two days
;; Add some binding for org-project in project.el map
:bind (:map project-prefix-map
("t" . org-project-quick-capture)
("T" . org-project-capture)
("o" . org-project-open-todos)))
Triggers org-capture
using the template provided in org-project-capture-template
.
Prompts for a simple TODO, that is then captured using org-project-quick-capture-template
.
Jump to the org-mode heading containing the TODOs for the current project.
All of these functions will create the relevant top level heading in the org-mode file stored in org-project-projects-file
if org-project-per-project-file
is nil
, or in org-project-todos-per-project
under the project root if it is t
.