Skip to content

timmli/org-fm-dev

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

org-fm

org-fm supports taking and exporting minutes in org-mode files. org-fm assumes a very simple but effective minutes format consisting of plain lists, where list items can be typed and assigned to participants using the dictionary notation of org-mode lists.

Emacs screenshot:

example.png

Example of PDF export via LaTeX:

example-export.png

Installation

Usage

The basic list format

Minutes taken with org-fm consist of one arbitrarily deeply embedded list, where the topmost level is an enumeration (1), 2), …).

org-fm items have the following structure

1) (I:? <TIMESTAMP>? <NAMES>? <SEPARATOR>)? <CONTENT>  
- (<TYPE>? <TIMESTAMP>? <NAMES>? <SEPARATOR>)? <CONTENT>

which means:

  • <TYPE> is the type of the item. There is a choice of item types built in:
    <TYPE>description
    A:, [ ]action/agenda
    D:, E:decision/Entscheidung
    I:information
    C:, B:consultation/Beratung
    N:note
    AC:, [X]cleared
  • <TIMESTAMP> is an (inactive) org-timestamp.
  • <NAMES> is a comma-separated list of participant names.
  • <SEPARATOR> can be :: or ||.
  • When <TYPE>, <TIMESTAMP> or <NAMES> are given, there also has to be a <SEPARATOR>.
  • When <NAMES> but not <TYPE> is given, the implicit type will be I: (information).

Inline elements

org-fm also provides two types of inline elements:

inline elementdescription
enclosed by ?: and :?question about minutes
enclosed by #: and :#private comment

Keywords

There is a number of special org-fm keywords that are used during export:

keywordsdescription
#+MINUTES_TITLE:title of the document; used as #+TITLE:
#+MINUTES_EVENT:name of the event
#+MINUTES_PLACE:place of the event
#+MINUTES_DATE:date of the event; used as #+DATE:
#+MINUTES_AUTHOR:name of minute taker; used as #+AUTHOR:
#+MINUTES_CHAIR:chair of the event
#+MINUTES_DRAFT-TEXT:text of the draft watermark
#+MINUTES_PARTICIPANTS:names of participants
#+MINUTES_LANGUAGE:language of minutes
#+MINUTES_LATEX_STYLE:name of \LaTeX style file
#+MINUTES_OPTIONS:used as #+OPTIONS:

Participants can be included using the drawer :PARTICIPANTS-LIST: which is assumed to contain exactly one list. The content of :PARTICIPANTS-LIST: will overwrite #+MINUTES_PARTICIPANTS:.

Automatic abbreviation expansion

org-fm lets you easily define abbreviations of participant names that are expanded during export.

Within :PARTICIPANTS-LIST:, abbreviations (and optionally expansions) can be specified in square brackets:

- [X] Susan Parker [SP=Sue]
- [ ] Kim Miller [KM]

When no expansion is given, either the part preceding a comma (,) or the last word in the preceding name will be used.

One can mask abbreviations (and suppress their expansion) by prefixing it with ##, which will be removed during expansion.

Example

See example.org.

Export

The export is triggered with org-fm-export.

org-fm-export will first copy the content of the org-mode heading at point into a temporary buffer, perform a couple of replacements and then call org-export-dispatch.

Timestamps

Items may contain an inactive org-timestamp, which is located after <TYPE> and before <NAMES>:

- N: [2020-06-08 Mo 12:18] :: This is a note.

Timestamps can be inserted or updated with org-fm-add-or-update-timestamp.

Timestamps are not exported with org-fm-export except for the note type (N:).

Plans

Ideas and Snippets

(org-narrow-to-element)
(choose-item)
(add-subitem-with-timestamp-etc)

(defun helm-org-fm-checkout-participant ()
  ""
  (helm :sources (helm-build-in-buffer-source "org-fm participants"
                   :data (current-buffer)
                   :candidate-transformer (lambda (candidates)
																						(progn
																							(forward-line 1)
																							(beginning-of-line)
																							(cl-loop for c in candidates
																											 when (string-match "^[[:blank:]]*-[[:blank:]]+\\[.\\].*" c)
																											 collect c)))
									 :get-line #'buffer-substring)
				:buffer "*helm org-fm*"))

About

org-fm.el – fast minutes with org-mode

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published