[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] [ANN] Outshine 2.0 (kind of Org-Minor-Mode)

From: Thorsten Jolitz
Subject: [O] [ANN] Outshine 2.0 (kind of Org-Minor-Mode)
Date: Sun, 21 Sep 2014 03:21:21 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

[This was posted on the Emacs Help Mailing List too]

Hi List, 

I just released Outshine 2.0 (i.e. outshine.el, outorg.el and

* Changes

Main changes are:

 - New Org-Minor-Mode functionality :: outshine headers have become more
      intelligent, they know about todos, priorities, tags,
      properties, timestamps, deadlines, schedules etc now, and you
      can call quite a few of Org commands directly in an Outshine
      buffer now. You can now add a headline directly in e.g. an Emacs
      Lisp or R Buffer, add planning information, clock-in and -out
      when programming the headline's functions, and compare your
      estimated efforts with the actual efforts. 

 - Faster and more reliable Outorg Conversion :: outorgs conversion
      functions have been rewritten and tested, they seem to produce
      no unwanted side-effects whatsoever anymore and are really fast,
      even for pretty big buffers.

 - New Outshine Agenda :: you can call an Org Agenda on your Outshine
      files now, showing planning information from Outshine
      agenda-files that might have different major-modes. This is
      currently read-only, the next step will be to make it
      read/write, and then finally enable a joint Agenda for Outshine
      and Org.

 - New Org-Minor-Mode commands for navi-mode :: all
      `outshine-use-outorg' commands have been added to navi-mode too,
      with the original Org-mode keybindings. Thus you can now e.g. do
      'C-c C-d' directly on a headline in the *Navi* buffer to add a

 - New LaTeX support :: I added a few outshine convenience-functions
      and navi keyword-searches for LaTeX-mode.

 - New outorg-export library :: Jonathan Leech-Pepin wrote a pretty cool
      library for syncing Outshine files with its export
      ([[https://github.com/jleechpe/outorg-export][outorg-export]]), it
      Automated exporting of sections of source files to any format org
      can export to.

 - New conversion tests for outorg :: I developed a 7 steps conversion
      tests to test for undesired side-effects of the conversion
      between programming-modes and org-mode:
   1. Convert buffer from state A [BEFORE] to state B (e.g. change major-mode,
   uncomment comments, wrap source-code in code-blocks ...) 

   1. Call some buffer-modifying command in state B

   2. Save resulting undo-buffer-tree

   3. Reconvert buffer from state B to state A

   4. Repeat (1) - convert from A -> B

   5. Undo the changes stored in saved undo-buffer-tree

   6. Repeat (4) - reconvert from B -> A [AFTER]

   After 4 conversions in total (2 in each direction), there should be no
   DIFFS between buffer-state A [BEFORE] and buffer-state A [AFTER] if
   the conversion itself has no (undesired) side-effects.

 - New comment-sections :: I improved/rewrote the comment-sections of
      all three Outshine libraries.

Thanks to everybody who provided issue reports, feature requests,
patches or even whole libraries!

* Appendix

** outshine-use-outorg commands:

#+BEGIN_SRC emacs-lisp
;;;;; Use Outorg for calling Org
(defun outshine-deadline (&optional arg)
(defun outshine-export-dispatch (&optional arg)
(defun outshine-insert-link ()
(defun outshine-open-at-point (&optional whole-buffer-p arg reference-buffer)
(defun outshine-set-tags-command ()
(defun outshine-schedule (&optional arg)
(defun outshine-todo (&optional arg)
(defun outshine-time-stamp-inactive (&optional arg)
(defun outshine-priority ()
(defun outshine-time-stamp (&optional arg)
(defun outshine-toggle-fixed-width ()
(defun outshine-toggle-comment ()
(defun outshine-sort-entries (&optional arg)
(defun outshine-previous-block ()
(defun outshine-next-block ()
(defun outshine-insert-last-stored-link ()
(defun outshine-toggle-checkbox (&optional arg)
(defun outshine-clock-in ()
(defun outshine-clock-goto ()
(defun outshine-next-link ()
(defun outshine-clock-out ()
(defun outshine-previous-link ()
(defun outshine-clock-cancel ()
(defun outshine-clock-report (&optional arg)
(defun outshine-timer-pause-or-continue (&optional arg)
(defun outshine-timer-item ()
(defun outshine-timer ()
(defun outshine-timer-start ()
(defun outshine-timer-cancel-timer ()
(defun outshine-timer-set-timer ()
(defun outshine-agenda-set-restriction-lock (&optional arg)
(defun outshine-agenda-remove-restriction-lock (&optional include-org-p)
(defun outshine-inc-effort ()
(defun outshine-set-property-and-value ()
(defun outshine-toggle-archive-tag ()
(defun outshine-insert-drawer ()
(defun outshine-set-effort (&optional arg)
(defun outshine-footnote-action (&optional special)
(defun outshine-set-property ()

** Outshine Speed Commands

User-defined Speed commands

Built-in Speed commands

Outline Navigation
n   (outshine-speed-move-safe (quote outline-next-visible-heading))
p   (outshine-speed-move-safe (quote outline-previous-visible-heading))
f   (outshine-speed-move-safe (quote outline-forward-same-level))
u   (outshine-speed-move-safe (quote outline-up-heading))
b   (outshine-speed-move-safe (quote outline-backward-same-level))
F   outshine-next-block
B   outshine-previous-block
j   outshine-navi
J   outshine-imenu
g   outshine-imenu

Outline Visibility
c   outline-cycle
C   outshine-cycle-buffer
    (outshine-use-outorg (quote org-display-outline-path) (quote 
r   outshine-narrow-to-subtree
w   widen

Outline Structure Editing
U   outline-move-subtree-up
D   outline-move-subtree-down
+   outline-demote
-   outline-promote
i   outshine-insert-heading
^   outshine-sort-entries
m   outline-mark-subtree
#   outshine-toggle-comment

Clock Commands
I   outshine-clock-in
O   outshine-clock-out

Date & Time Commands
.   outshine-time-stamp
!   outshine-time-stamp-inactive
d   outshine-deadline
s   outshine-schedule

x   outshine-export-dispatch

Meta Data Editing
t   outshine-todo
,   outshine-priority
0   (outshine-use-outorg (lambda nil (interactive) (org-priority 32)))
1   (outshine-use-outorg (lambda nil (interactive) (org-priority 65)))
2   (outshine-use-outorg (lambda nil (interactive) (org-priority 66)))
3   (outshine-use-outorg (lambda nil (interactive) (org-priority 67)))
:   outshine-set-tags-command

Properties and Effort
y   outshine-set-property
Y   outshine-set-property-and-value
e   outshine-set-effort
E   outshine-inc-effort
v   outshine-agenda
<   (outshine-agenda-set-restriction-lock)
>   (outshine-agenda-remove-restriction-lock)

o   outshine-open-at-point
?   outshine-speed-command-help

** Github-Repos (libraries are on MELPA too)

 - [[https://github.com/tj64/outshine][outshine]]

 - [[https://github.com/tj64/outorg][outorg]]

 - [[https://github.com/tj64/navi][- navi-mode]]


reply via email to

[Prev in Thread] Current Thread [Next in Thread]