Final changes before release.

This implements executing export commands in the background.
Also, the documentation has been updated.
This commit is contained in:
Carsten Dominik 2008-04-14 07:47:32 +02:00
parent c18f4c2124
commit 7c37f334af
4 changed files with 158 additions and 101 deletions

View file

@ -1,24 +1,36 @@
# -*- mode: org; org-export-publishing-directory: "tmp"; fill-column: 65 -*-
#+TITLE: Org-mode list of User-visible changes
#+TITLE: Org-mode list of user-visible changes
#+AUTHOR: Carsten Dominik
#+EMAIL: carsten at orgmode dot org
#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} *:t TeX:t LaTeX:nil
* Version 6.00
* Version 6.01
This is a new major release, mostly because of structural changes
in Org. However, there are also monay bug fixes and new features.
in Org. However, since this took a while, there is also a long
list of small improvements and some new significant features.
** Incompatible changes
*** The Org distribution has a new structure
In the distribution files as well as in the GIT repository,
the lisp files are now located in a subdirectory "lisp", and
the documentation files are located in a subdirectory "doc".
If you are running Org directly from the unpacked
distribution archive (zip or tar file, or GIT repository),
you need to modify your settings for load-path accordingly.
** Details
*** The Org distribution has a new structure
In the distribution files as well as in the git repository,
In the distribution files as well as in the GIT repository,
the lisp files are now located in a subdirectory "lisp", and
the documentation files are located in a subdirectory "doc".
If you are running Org directly from the unpacked
distribtuion archive (zip or tar file, or git repository),
distribution archive (zip or tar file, or GIT repository),
you need to modify your settings for load-path accordingly.
*** Loading modules
@ -26,43 +38,44 @@ in Org. However, there are also monay bug fixes and new features.
Org-mode has now a system for loading modules by simply
configuring an option that lists all the modules you want to
use. Customize the variable `org-modules'. That variable
lists modules that are part of the Org-mode core (and in this
way part of Emacs), as well as contributed packages that will
only be available when you have installed them properly (most
likely by downloading the distribution and adding
/path/to/orgdir/contrib/lisp to your load path).
lists both modules that are part of the Org-mode core (and in
this way part of Emacs), and modules that are contributed
packages. Contributed modules will only be available when
you have installed them properly (most likely by downloading
the distribution and adding /path/to/orgdir/contrib/lisp to
your load path).
*** New archiving mechanism: The Archive Sibling
There is a new method to archive entries in the current file:
By moving it to a sibling called the /Archive Sibling/. That
sibling has the heading "Archive" and also carries the
ARCHIVE tag. It seems to me that this is a great way to do
archiving inside a project, to get parts of the project out
of the way and to wait with true archiving (moving to another
file) until the entire project done. Archiving to a sibling
keep much of the context like inherited tags and approximate
tree position in tact, so Org is adding only a single
property, the ARCHIVE_TIME.
ARCHIVE tag. This can be a great way to do archiving inside
a project, to get parts of the project out of the way and to
wait with true archiving (moving to another file) until the
entire project is done. Archiving to a sibling keeps much of
the context, for example inherited tags and approximate tree
position in tact.
The key binding for the is "C-c C-x A", and from the agenda
buffer you can simply use "A".
Thanks to Ilya Shlyakhter for this rather clever idea.
*** Support for Sebastian Rose's Javasript org-info.js.
*** Support for Sebastian Rose's JavaScript org-info.js.
This fascinating program allows a completely new viewing
experience for web pages created from Org files, valuable in
particular for longish documents. The same document can be
viewed in differnet ways, and switching between the views as
well as navigation uses single-key commands.
experience for web pages created from Org files. The same
document can be viewed in different ways, and switching
between the views as well as navigation uses single-key
commands.
There is an Info-like interface where you can jump through
the sections of the document with the `n' and `p' keys (and
others). And there is a folding interface where you can fold
the document much like you can fold it in org-mode in Emacs,
and cycle throught the visibility both locally and globally.
One of the view types is an /Info-like/ interface where you
can jump through the sections of the document with the `n'
and `p' keys (and others). There is also a /folding/
interface where you can fold the document much like you can
fold it in org-mode in Emacs, and cycle through the
visibility both locally and globally.
To set this up, all you need to do is to make sure that
org-infojs.el gets loaded (customize the variable org-modules
@ -71,30 +84,38 @@ in Org. However, there are also monay bug fixes and new features.
: #+INFOJS_OPT: view:info
In that line, you can configure the initial view and other
settings. Available views are =info= for the info-lke
settings. Available views are =info= for the info-like
interface, and =overview=, =content=, and =showall= for the
folding interface. See the manual for more details. The
JavaScript program is currently being served from
orgmode.org, and your exported HTML files will automatically
get it from there. However, you may want to be independent
of the existence and stability of orgmode.org and install a
copy locally. Then you need to change the path from which
the script is loaded, either by using something like
JavaScript program is served from
http://orgmode.org/org-info.js, and your exported HTML files
will automatically get it from there. However, you may want
to be independent of the existence and stability of
orgmode.org and install a copy locally. Then you need to
change the path from which the script is loaded, either by
using something like
: #+INFOJS_OPT: view:info path:../scripts/org-info.js
or by configuring the variable =org-infojs-options=.
For details see the documentation provided by Sebastian Rose
together with org-info.js.
*** Export of internal links to HTML
*** Export improvements
The export of internal links to html now works a lot better.
Most internal links that work while editing an Org file
inside Emacs will now also work the the corresponding HTML
file.
- The export of internal links to HTML now works a lot
better. Most internal links that work while editing an Org
file inside Emacs will now also work the the corresponding
HTML file.
- You can run many of the export commands in the background
by using `C-c C-u C-c C-e' in order to start the process.
RIght now this will only work if "emacs" is the right
command to get to your Emacs executable - I hope to make
this less system dependent in the future.
Both these are based on requests by Ilya Shlyakhter.
*** Improvements to clocktable
@ -121,31 +142,29 @@ in Org. However, there are also monay bug fixes and new features.
What is more, you can now use the =S-left= and =S-right=
keys while the cursor is on the =#+BEGIN: clocktable= line
and the the time block around. If the current block is
=today=, =S-left= with switch to yesterday. If the current
block is =2008-W14=, =S-right= will switch to the following
week.
keys to shift the time block around. The cursor needs to
be in the =#+BEGIN: clocktable= line for this to work. If
the current block is =today=, =S-left= with switch to
yesterday. If the current block is =2008-W14=, =S-right=
will switch to the following week.
- When the clocktable is collecting from several files, the
total time for each file will now also be listed. This was
a request from Bernt Hansen.
- If you turn on the new clockreport mode with the "R" key in
- If you turn on the new clock report mode with the "R" key in
the agenda, a clock table will be attached to the agenda,
showing the clock report for the file scope and time
interval of the agenda view. To turn this on permanently,
configure the variable
=org-agenda-start-with-clockreport-mode=. To modify the
properties of the table, in particula the =:maxlevel=
=org-agenda-start-with-clock report-mode=. To modify the
properties of the table, in particular the =:maxlevel=
depth, configure =org-agenda-clockreport-parameter-plist=.
*** Support for ISO week dates (ISO 6801)
Dates in the agenda now show the ISO week an day
specification, in the form =W08 2=, meaning Tuesday of
week 2.
The agenda now shows the ISO week for the displayed dates, in
the form =W08= for week 8.
The keys =d=, =w=, =m=, and =y= in the agenda view now accept
prefix arguments. Remember that in the agenda, you can
@ -192,13 +211,6 @@ in Org. However, there are also monay bug fixes and new features.
during search, so that searching for the word "Nasim" will
also match in "Nasim's".
*** Changes to property API
The INHERIT flag to the function =org-entry-get= can be set
to the symbol =selective=. If this is the case, then the
value of the property will be retrieved using inheritance if
and only if the setting in =org-use-property-inheritance=
selects the property for inheritance.
*** Misc
@ -212,11 +224,20 @@ in Org. However, there are also monay bug fixes and new features.
=org-use-property-inheritance=, so that you can now select
properties for inheritance my name.
- The INHERIT flag to the function =org-entry-get= can be set
to the symbol =selective=. If this is the case, then the
value of the property will be retrieved using inheritance
if and only if the setting in
=org-use-property-inheritance= selects the property for
inheritance.
- There are now special faces for the date lines in the
agenda/timeline buffers, and another special face for days
that fall on a weekend: `org-agenda-date' and
`org-agenda-date-weekend'.
that fall on a weekend: =org-agenda-date= and
=org-agenda-date-weekend=. Both these faces are initially
similar to the =org-agenda-structure= face, but you can
customize them freely.
- When an entry already has a scheduling or deadline time
stamp, calling `C-c C-s' or `C-c C-d', respectively, will
now use that old date as the default, and you can can use
@ -227,14 +248,16 @@ in Org. However, there are also monay bug fixes and new features.
This was an omission in the earlier implementation, spotted
by Wanrong Lin. Thanks!
- File names in remember templates can be relative, they will
be interpreted relative to =org-directory=.
- The handling of the cliboard when inserting into remember
- File names in remember templates can be relative, if they
are, they will be interpreted relative to =org-directory=.
- The handling of the clipboard when inserting into remember
templates is now much better, and gives more control on what
should be inserted with new %-escapes:
- =%c= - Now always insert to head of the kill ring
- =%c= - Now always insert the head of the kill ring, never
the X clipboard.
- =%x= - Insert the content of the X clipboard. This is the
first non-empty value from the PRIMARY, SECONDARY and
CLIPBOARD X clipboards.
@ -263,7 +286,7 @@ in Org. However, there are also monay bug fixes and new features.
Thanks to James TD Smith for this patch.
- Entries can be sorted by TODO keyword, and the orde is given
- Entries can be sorted by TODO keyword, and the order is given
by the definition sequence of the TODO keywords in the
variable =org-todo-keywords=, or in the =#+TODO= line. Use
the "o" key when sorting with =C-c ^=.
@ -271,9 +294,6 @@ in Org. However, there are also monay bug fixes and new features.
Thanks to James TD Smith for this patch.
* Version 5.23
** Overview

View file

@ -89,10 +89,11 @@ More information on this page: http://repo.or.cz/w/org-mode.git
** Worg - user-driven knowledge-base about org-mode
[[http://www.legito.net/worg/][Worg]], created by [[http://www.cognition.ens.fr/~guerry/][Bastien Guerry]], is a setup to allow users to jointly
edit a number of Org-mode files containing documentation about Org-mode.
This is something like a wiki. If you'd like to contribute your own
setup, screenshots, tutorials etc, please go to [[http://www.legito.net/worg/][the Worg page]], and start
from there.
edit a number of Org-mode files containing documentation about
Org-mode. This is something like a wiki, but with the advantage that
you do not have to be online to modify a file. If you'd like to
contribute your own setup, screenshots, tutorials etc, please go to
[[http://www.legito.net/worg/][the Worg page]], and start from there.
** Tutorials

View file

@ -513,14 +513,16 @@ documentation.}
@end iftex
Add the following lines to your @file{.emacs} file. The last two lines
define @emph{global} keys for the commands @command{org-store-link} and
@command{org-agenda} - please choose suitable keys yourself.
define @emph{global} keys for the commands @command{org-store-link},
@command{org-agenda}, and @command{org-iswitchb} - please choose suitable
keys yourself.
@lisp
;; The following lines are always needed. Choose your own keys.
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cb" 'org-iswitchb)
@end lisp
Furthermore, you must activate @code{font-lock-mode} in Org
@ -1506,8 +1508,12 @@ buffer, selecting the pasted text with @kbd{C-x C-x} and then using the
@kbd{C-c |} command (see above under @i{Creation and conversion}.
@c
@item M-x org-table-export
Export the table as a TAB-separated file. Useful for data exchange with,
for example, spreadsheet or database programs.
Export the table, by default as a TAB-separated file. Useful for data
exchange with, for example, spreadsheet or database programs. The format
used to export the file can be configured in the variable
@code{org-table-export-default-format}. You may also use properties
@code{TABLE_EXPORT_FILE} and @code{TABLE_EXPORT_FORMAT} to specify the file
name and the format for table export in a subtree.
@end table
If you don't like the automatic table editor because it gets in your
@ -4927,6 +4933,10 @@ Remove current file from the list of agenda files.
@item C-,
@itemx C-'
Cycle through agenda file list, visiting one file after the other.
@kindex M-x org-iswitchb
@item M-x org-iswitchb
Command to use an @code{iswitchb}-like interface to switch to and between Org
buffers.
@end table
@noindent
@ -6429,7 +6439,11 @@ produced. @xref{Text interpretation}, for more details.
@item C-c C-e
Dispatcher for export and publishing commands. Displays a help-window
listing the additional key(s) needed to launch an export or publishing
command.
command. The prefix arg is passed through to the exporter.
@kindex C-u C-u C-c C-e
@item C-u C-u C-c C-e
Try to execute an export/publishing command in the background. This is only
allowed for commands that do not expect to use the output of the exporter.
@end table
@menu

View file

@ -748,7 +748,7 @@ modified) list.")
;;;###autoload
(defun org-export (&optional arg)
"Export dispatcher for Org-mode."
(interactive)
(interactive "P")
(let ((help "[t] insert the export option template
\[v] limit export to visible part of outline tree
@ -772,23 +772,23 @@ modified) list.")
\[X] publish... (project will be prompted for)
\[A] publish all projects")
(cmds
'((?t . org-insert-export-options-template)
(?v . org-export-visible)
(?a . org-export-as-ascii)
(?h . org-export-as-html)
(?b . org-export-as-html-and-open)
(?H . org-export-as-html-to-buffer)
(?R . org-export-region-as-html)
(?x . org-export-as-xoxo)
(?l . org-export-as-latex)
(?L . org-export-as-latex-to-buffer)
(?i . org-export-icalendar-this-file)
(?I . org-export-icalendar-all-agenda-files)
(?c . org-export-icalendar-combine-agenda-files)
(?F . org-publish-current-file)
(?P . org-publish-current-project)
(?X . org-publish)
(?A . org-publish-all)))
'((?t org-insert-export-options-template nil)
(?v org-export-visible nil)
(?a org-export-as-ascii t)
(?h org-export-as-html t)
(?b org-export-as-html-and-open t)
(?H org-export-as-html-to-buffer nil)
(?R org-export-region-as-html t)
(?x org-export-as-xoxo t)
(?l org-export-as-latex t)
(?L org-export-as-latex-to-buffer nil)
(?i org-export-icalendar-this-file t)
(?I org-export-icalendar-all-agenda-files t)
(?c org-export-icalendar-combine-agenda-files t)
(?F org-publish-current-file t)
(?P org-publish-current-project t)
(?X org-publish t)
(?A org-publish-all t)))
r1 r2 ass)
(save-window-excursion
(delete-other-windows)
@ -797,9 +797,31 @@ modified) list.")
(message "Select command: ")
(setq r1 (read-char-exclusive)))
(setq r2 (if (< r1 27) (+ r1 96) r1))
(if (setq ass (assq r2 cmds))
(call-interactively (cdr ass))
(error "No command associated with key %c" r1))))
(unless (setq ass (assq r2 cmds))
(error "No command associated with key %c" r1))
(cond
((and (equal arg '(16)) (nth 2 ass))
(let ((p (start-process
(concat "Exporting " (file-name-nondirectory (buffer-file-name)))
"*Org Export Processes*"
"emacs" "-batch"
"-l" user-init-file
"--eval" "(require 'org-exp)"
(buffer-file-name)
(concat "Exporting " (file-name-nondirectory (buffer-file-name)))
"-f" (symbol-name (nth 1 ass)))))
(set-process-sentinel p 'org-export-process-sentinel)
(message "Process \"%s\": started in background" p)))
((equal arg '(16))
(error "Background processing for export command `%c' is not allowed"
(car ass)))
(t
(call-interactively (nth 1 ass))))))
(defun org-export-process-sentinel (process status)
(if (string-match "\n+\\'" status)
(setq status (substring status 0 -1)))
(message "Process \"%s\": %s" process status))
(defconst org-html-entities
'(("nbsp")