* contrib/lisp/org-contacts.el: Add a complex org-contacts template to
the file header, which can help users to know all the org-contacts
properties quickly.
* contrib/lisp/org-contacts.el (org-contacts-ignore-property): Improve
formatting and spelling.
(org-contacts-complete-name): Improve formatting.
(org-contacts-vcard-format): Improve formatting and silent byte compiler.
(org-contacts-split-property): Fix a bug where `omit-nulls' were not
forced to `t' when `separators' was nil.
* contrib/lisp/org-contacts.el (org-contacts-ignore-property): New variable.
(org-contacts-remove-ignored-property-values): New function, which
remove all ignore-list's elements from list.
(org-contacts-complete-name): When completing, ignore the
values which has been included into the ignore property.
(org-contacts-vcard-format): Don't export the values which has
been included into the ignore property.
If emails or phones is included into the ignore property, they will
not show in complete buffer. When the contact is exported to vcard,
they will be ignored too.
* lisp/ox-latex.el (org-latex-compile): Properly set working
directory.
* lisp/ox-man.el (org-man-compile): Properly set working directory.
* lisp/ox-texinfo.el (org-texinfo-compile): Properly set working
directory.
* contrib/lisp/ox-groff.el (org-groff-compile): Properly set working
directory.
* lisp/ox-latex.el (org-latex-compile): Make sure generated file can
be found by `file-exists-p'.
* contrib/lisp/ox-groff.el (org-groff-compile): Make sure generated
file can be found by `file-exists-p'.
* lisp/ox-man.el (org-man-compile): Make sure generated file can be
found by `file-exists-p'.
* lisp/ox-texinfo.el (org-texinfo-compile): Make sure generated file
can be found by `file-exists-p'.
* lisp/ox-html.el (org-html-doctype): Add new function `org-html-doctype'.
(org-html-template): Use `org-html-doctype' function instead of inline
code.
* contrib/lisp/ox-deck.el (org-deck-template): Use `org-html-doctype'
function instead of inline code.
* contrib/lisp/ox-s5.el (org-s5-template): Use `org-html-doctype'
function instead of inline code.
* contrib/lisp/ox-deck.el (deck): add new deck specific link handler.
(org-deck-toc): Add "sec-" to non-custom link ids.
(org-deck-link): New function. Rename internal link to point at
container instead of heading.
(org-deck-template): Use alist doctype instead of string (per changes
to ox-html).
* ox-koma-letter.el: =`org-koma-letter-subject-format'= can now be a list. Default is t.
If nil neither subject format nor type is exported.
* ox-koma-letter.el (org-koma-letter-template): better subject handling.
* ox-koma-letter.el (org-koma-letter-template): allow for t value of =#+OPTIONS: subject:VALUE=
* ox-koma-letter.el (org-koma-letter-template): export of subject format is independent
of title, but title is not independent of =:with-subject=.
The issue was with =#+OPTIONS: subject:t= one would get a LaTeX error.
New behavior:
If =#+OPTIONS: subject:(x,y)= then =\KOMAoption{subject}{x, y}=.
If =subject:x= then =\KOMAoption{subject}{x}=.
If =subject:t= then =\KOMAoption{subject}{...}= is not set but
\setkomavar{subject}{...} is set (in the output file)
If =subject:nil= neither are printed.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el(org-koma-letter-signature): set to nil.
The previoues value corresponds to the default value cf. the the koma
manual pp. 183.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el (org-koma-letter-special-tags-after-closing):
specials tags inserted after =\end{closing}=.
* ox-koma-letter.el (org-koma-letter-special-tags): collect
the special lists.
* ox-koma-letter.el (org-koma-letter-headline): stores content
in of headline if the first tag is special. Otherwise return content.
* ox-koma-letter.el (org-koma-letter-special-content): holds special
content temporarily.
* ox-koma-letter.el (org-koma-letter--format-string-as-macro): format a string as
a macro or don't.
* ox-koma-letter.el (org-koma-letter-template): added support
for the headings with special tags.
The following example will now export a sensible manner.
* my letter
here's a letter
* PS :ps:
it's requires this patch
* CC :cc:
Nicolas, Viktor and Alan
* ENCL :encl:
many patches
1. this patch
2. another patch.
* include patches :after_letter:
\myspecialmacro
\includepdf{pdf}
Namely, content of ps, encl and cc headings will be exported after
\closing{.} in the order prescribed by
=`org-koma-letter-special-tags-after-closing'= as a (LaTeX) macro
removing trailing and leading newlines. The macro is the same as the
tag, althogh the case is determined by the special list.
The concents of the =after_letter= heading will be inserted after
=\end{letter}= and newlines are preserved.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el (org-koma-letter-author): defaults to a function
that returns =`user-full-name'=.
Setting the variables `org-koma-letter-author' and
`org-koma-letter-email' to the values of `user-full-name' and
`user-mail-address' respectively, allows the user to skip =#+AUTHOR:=
and =#+EMAIL:= lines when configuring a letter. However, if the user
wishes to set this information in LCO files, these variables need to
be set to nil.
With the old after-init-hook method my user name was always set to "".
Now org-koma-letter will (i) allow for default nil values (good if you
use LCO files); (ii) default to =`user-full-name'= and
=`user-mail-address'= like =ox-latex.el=. These values are obtained
on-the-fly.
The two variables in question can also be strings or functions
returning strings.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* contrib/lisp/ox-deck.el (deck): Add deck specific link function.
(org-deck-toc): Generate correct link to slide for custom ids as well
as default section ids.
(org-deck-link): HTML custom ids link to the headline. deck.js
requires linking to the wrapper (slide) so modify the link to point at
the container instead of the headline.
(org-deck-template): Fix doctype handling to use alist option instead
of literal string.
* ox-koma-letter.el: changed the unorthodox =SENDER= keyword to
the ordinary =AUTHOR= keyword.
* ox-koma-letter.el: changed email to work as in standard
latex exporter and dropped dedicated ox-koma-letter variable.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
Prior to the fix the firefox link grabber won't work correctly if a cursor has been already positioned in the URL field. The fix works by adding an additional keystore for selecting all the text in that field.
* The shortcut is set to [S]
* Grabs not just the link to file, but a page
* Inserts the selected text as a description, if present. Otherwise
inserts "<filename>, p. <page #>"
* Defines a new "skim" link type
* contrib/lisp/org-contacts.el (org-contacts-setup-completion-at-point):
Setup `completion-at-point-functions' in a dedicated function so it's
easier to add and to remove it from `message-mode-hook'.
(org-contacts-unload-hook): This function removes all hooks added while
loading `org-contacts' in order to respect Emacs coding conventions.
* ox-koma-letter.el (org-koma-letter-opening): No default / set to nil.
(org-koma-letter-closing): No default / set to nil.
We should not assume a formal English opening and closing
line. A letter requires many personal options, such as the
address, so it is no more work to also these options.
TINYCHANGE
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* contrib/lisp/org-contacts.el (org-contacts-filter): Add a PROP-MATCH
argument.
(org-contacts-gnus-article-from-get-marker): Search for email as a
property not a tag.
`org-contacts-gnus-article-from-get-marker' seems to assume that the
contact properties exist within the contact's tags as colon-separated
KEY={VALUE} entries. This isn't the case for me, using org-mode from
git master.
This commit adds a PROP-MATCH argument to `org-contacts-filter' so
that `org-contacts-gnus-article-from-get-marker` can filter by the
EMAIL property.
* contrib/lisp/org-contacts.el (org-contacts-db): Use
`make-progress-reporter' instead of `message' for messages. Also
change the sentence to present progressive tense.
* ox-taskjuggler.el (org-taskjuggler-project-plan): Use the
project name as the title of the (default) report if the
document title is empty.
Thanks to Eric S Fraga for reporting this bug.
* ox-taskjuggler.el (org-taskjuggler-get-start): Use memq
instead of member as we are searching for symbols. Also
search in valid-task-attributes instead of
valid-resource-attributes.
* contrib/lisp/org-contacts.el (org-contacts-property-values-separators):
Definition of a new constant that will be used as default value of
separators for `org-contacts-split-property'.
* contrib/lisp/org-contacts.el (org-contacts-vcard-format): We are now
using the default separator in general.
* contrib/lisp/org-contacts.el (org-contacts-show-map): Line break
corrected.
* contrib/lisp/org-contacts.el (org-contacts-split-property): Correct
the comment describing the function. Application of the newly
defined constant `org-contacts-property-values-separators'.
* contrib/lisp/org-contacts.el (org-contacts-split-property):
Introduce a custom version of split-string that keeps org links
intact.
* contrib/lisp/org-contacts.el (org-contacts-strip-link): Introduce a
new function that removes brackets, description, link type and colon
from an org link string returning the pure link target.
* contrib/lisp/org-contacts.el (provide 'org-contacts): Remove a
redundant line.
* contrib/lisp/org-contacts.el (org-contacts-complete-group,
org-contacts-complete-name, org-contacts-view-send-email,
org-contacts-get-icon, org-contacts-vcard-format): Apply the new
functions to the already existing functions extracting telephone
numbers and email addresses from the properties.
Allowed separators for email addresses and phone numbers are `,', `;'
and whitespace. `:' is not allowed anymore as separator to avoid
confusion with implicit links.
Examples of properties that are possible after those changes:
* Surname, Name
:PROPERTIES:
:EMAIL: mailto:test2@test.de; [[mailto:name@test.de]] foo@bar.biz
:PHONE: [[tel:+49 351 4129535]], +491766626196 [[+49 (351) 41295-35]]
:END:
Phone links of the form [[tel:+49 351 412 95-35][My phone number]] or
[[tel:+49 351 41295-35]] are expected. `-', `/', `(', `)' and
whitespace characters are allowed in telephone numbers.
* contrib/lisp/org-contacts.el (org-contacts-db): fix typo in the
word `matching'.
* contrib/lisp/org-contacts.el (org-contacts-complete-group): fix typo
in the word `found'.
TINYCHANGE
* ox-taskjuggler.el (org-taskjuggler-resolve-dependencies): When
resolving dependencies do not only look for matching task_id
properties but also for the standard ID property.
That way the user can make use of the standard org-id functionality to
create unique ids for a task and yanking the id in another task as a
BLOCKER.
* ox-taskjuggler.el (org-taskjuggler-default-reports)
(org-taskjuggler-project-plan): If the default reports contain
%title it will be replaced with the document title.
This is based on a suggestion by John Hendy.
* ox-taskjuggler.el (org-taskjuggler-get-start): Use both the
scheduled and the start property (if it is in
org-taskjuggler-valid-resource-attributes) to determine the
start of a task or the project.
Thanks to John Hendy for the report and thorough analysis.