• Stars
    star
    319
  • Rank 131,491 (Top 3 %)
  • Language
    Emacs Lisp
  • Created almost 10 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Manage org-mode TODOs for your projectile projects

https://travis-ci.org/IvanMalison/org-projectile.svg?branch=master https://badges.gitter.im/Join%20Chat.svg http://melpa.org/packages/org-projectile-badge.svg http://stable.melpa.org/packages/org-projectile-badge.svg

org-projectile provides functions for the creation of org-mode TODOs that are associated with projectile projects.

Installation

Install from MELPA with M-x package-install org-projectile. See the melpa repository for details about how to set up MELPA if you have not already done so.

Setup

Before using org-projectile, you must specify the file you would like to use for storing project TODOs, as well as a keybinding for taking a project note with org-capture and a global keybinding for org-projectile-project-todo-completing-read. It is recommended that you start with the following configuration:

(require 'org-projectile)
(setq org-projectile-projects-file
      "/your/path/to/an/org/file/for/storing/project/todos.org")
(push (org-projectile-project-todo-entry) org-capture-templates)
(setq org-agenda-files (append org-agenda-files (org-projectile-todo-files)))
(global-set-key (kbd "C-c c") 'org-capture)
(global-set-key (kbd "C-c n p") 'org-projectile-project-todo-completing-read)

use-package

Here is the same configuration expressed using jwiegley’s excellent use-package:

(use-package org-projectile
  :bind (("C-c n p" . org-projectile-project-todo-completing-read)
         ("C-c c" . org-capture))
  :config
  (progn
    (setq org-projectile-projects-file
          "/your/path/to/an/org/file/for/storing/projects.org")
    (setq org-agenda-files (append org-agenda-files (org-projectile-todo-files)))
    (push (org-projectile-project-todo-entry) org-capture-templates))
  :ensure t)

per-repo todo files

If you would prefer to have an org file for each project that resides in the project directory, add the following elisp to your configuration:

(require 'org-projectile)
(org-projectile-per-project)
(setq org-projectile-per-project-filepath "my_project_todo_filename.org")
(setq org-agenda-files (append org-agenda-files (org-projectile-todo-files)))
(global-set-key (kbd "C-c c") 'org-capture)
(global-set-key (kbd "C-c n p") 'org-projectile-project-todo-completing-read)

Usage

org-projectile-project-todo-completing-read

opens a projectile-completing-read that allows the selection of a project heading under which to store the input that is subsequently captured in an org-capture buffer. Completion candidates for this function are generated using the project list returned from (projectile-relevant-known-projects) and the existing headings in org-projectile-projects-file.

org-projectile-project-todo-entry

is a function that builds an entry that can be added to org-capture-templates in order to use org-capture to make TODOs for the project to which the current buffer belongs. You can access org-capture mode with M-x org-capture, but it is recommended that you bind org-capture to some key.

Both of these functions will create the relevant top level heading in the org-mode file stored in org-projectile-projects-file if it does not exist.

Project headings are links

This means that if you run org-open-at-point when your cursor is over a linked heading, projectile-switch-project-action will be executed, and you will begin working in the relevant project. By default, emacs will prompt you about whether not to execute the elisp associated with the link. To disable this prompt, add

(setq org-confirm-elisp-link-function nil)

to your configuration.

Customization

Author’s Configuration

The author’s configuration can be found here. Check it out for some ideas about how to customize org-projectile.

More Repositories

1

dotfiles

Configuration files for XMonad, Emacs, NixOS, Taffybar and more.
CSS
172
star
2

okcupyd

A Library that enables programmatic interaction with okcupid.com, using okcupid.com's private okcupid JSON API and html scraping when necessary.
Python
106
star
3

multi-line

multi-line everything from function invocations and definitions to array and map literals in a wide variety of languages
Emacs Lisp
53
star
4

term-manager

Manage ansi-term buffers using projectile
Emacs Lisp
30
star
5

mu4e-notifications

17
star
6

github-search

Use the github search API to clone github repositories.
Emacs Lisp
16
star
7

rofi-systemd

Shell
15
star
8

flimenu

Emacs Lisp
13
star
9

tile

Interactively cycle through pre-defined custom layout definitions à la XMonad
Emacs Lisp
10
star
10

angular-chess-board

A flexible interactive chess board implementation with algebraic notation processing and the ability to force only legal moves. Designed to be flexible and reusable above all else. Can be used with or without the included angular.js directives.
JavaScript
9
star
11

.emacs.d

Emacs configuration files.
Emacs Lisp
9
star
12

chess_stats

A website that integrates with chess.com that allows users to track their statistics and perform analysis of their games.
Python
7
star
13

notifications-tray-icon

Haskell
6
star
14

chessutil

Utilities for python chess programming including a playable chess game and a notation parser.
Python
4
star
15

alist-query

JavaScript
4
star
16

emit

Emacs Lisp
3
star
17

grid

A distributed system that allows users to submit executables and data to a compute cluster. Can withstand multiple failures without losing data.
C
3
star
18

miniML-Parser

A parser/interpreter for miniML
Scala
3
star
19

git_blame_counter

A utility that counts blame lines by user in a git repository.
Python
3
star
20

HackathonPortal

A website that catalogues projects from yelp hackathons.
Python
2
star
21

multi-line-it

an elisp function for multi lining python method invocations
Emacs Lisp
2
star
22

quill-qr

Shell
2
star
23

determine_work

an 32-ary search in OpenCL
C
2
star
24

splastify

Make spotify and last.fm playlists by looking at tag and user data from last.fm.
Python
2
star
25

Pool

A (Now 3D) billiards simulation program.
Java
2
star
26

APSPMM

All pairs shortest paths matrix multiplication implemented in OpenCL
C
2
star
27

gitolite-clone

Clone repositories from a gitolite host
Emacs Lisp
2
star
28

mt_merge_sort

A threadsafe and multi-threaded version of merge sort
C
2
star
29

org-mode

Emacs Lisp
1
star
30

mt_chat

A Small Decentralized Chat Service
C
1
star
31

DFA-Regex

Scala
1
star
32

mopidy-lastfm

Python
1
star
33

dominion-mystic

PureScript
1
star
34

org-window-habit

Emacs Lisp
1
star
35

modern-cljs

Clojure
1
star
36

RuleChangingCA

A Rule Changing Cellular Automata
Java
1
star
37

PigLatinTranslator

Translates normal human text into pig latin.
Ruby
1
star
38

LinkedList

A Simple Implementation of a Linked List in Java
Java
1
star
39

OPBF

SSSP inspired by Bellman Ford.
C
1
star
40

dominion-hud

Clojure
1
star
41

relational-algebra

Haskell
1
star
42

curry

Python
1
star