Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-28 Thread Bastien
Hi Nicolas,

Nicolas Goaziou n.goaz...@gmail.com writes:

 I tend to think it's more a developer information. By looking at the
 manual, there's no confusion possible for a user.

A footnote would not hurt, if only as a way to answer future
questions?

 Maybe it should go in `org-export-options-alist' docstring instead.

Indeed.

-- 
 Bastien



Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-27 Thread Bastien
Hi Nicolas,

Nicolas Goaziou n.goaz...@gmail.com writes:

 Applied on master, since it introduces a syntax change. Tell me if you
 want it on maint anyway (or just cherry-pick it yourself).

2 cents: it's better on maint, since people are more likely to read
change logs for 8.1 rather than for 8.0.4.

-- 
 Bastien



Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-27 Thread Bastien
Hi Nicolas,

Nicolas Goaziou n.goaz...@gmail.com writes:

 Basically,

   #+HTML_INCLUDE_STYLE: nil

 becomes

   #+OPTIONS: html-style:nil

Is this the rule for all #+... options ?

What about #+LaTeX: options ?

See for example ox-rss.el: should I keep using #+RSS_EXTENSION or use
a new item for #+OPTIONS: ?

Thanks for the directions!

-- 
 Bastien



Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-27 Thread Nicolas Goaziou
Hello,

Bastien b...@gnu.org writes:

 Nicolas Goaziou n.goaz...@gmail.com writes:

 Basically,

   #+HTML_INCLUDE_STYLE: nil

 becomes

   #+OPTIONS: html-style:nil

 Is this the rule for all #+... options ?

 What about #+LaTeX: options ?

 See for example ox-rss.el: should I keep using #+RSS_EXTENSION or use
 a new item for #+OPTIONS: ?

 Thanks for the directions!

Basically, #+keyword: is for strings, #+OPTIONS: use `read' on the
values, so it should be used for every other type.

AFAIU, #+rss_extension: expects a string as its value, so there's
nothing to change.


Regards,

-- 
Nicolas Goaziou



Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-27 Thread Bastien
Hi Nicolas,

Nicolas Goaziou n.goaz...@gmail.com writes:

 Basically, #+keyword: is for strings, #+OPTIONS: use `read' on the
 values, so it should be used for every other type.

Thanks for the explanation, it makes sense.

Let's make it explicit somewhere in the manual, so that users
have a clear rule in mind when wondering what syntax they need
to look for.

Best,

-- 
 Bastien



Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-27 Thread Nicolas Goaziou
Bastien b...@gnu.org writes:

 Nicolas Goaziou n.goaz...@gmail.com writes:

 Basically, #+keyword: is for strings, #+OPTIONS: use `read' on the
 values, so it should be used for every other type.

 Thanks for the explanation, it makes sense.

 Let's make it explicit somewhere in the manual, so that users
 have a clear rule in mind when wondering what syntax they need
 to look for.

I tend to think it's more a developer information. By looking at the
manual, there's no confusion possible for a user.

Maybe it should go in `org-export-options-alist' docstring instead.


Regards,

-- 
Nicolas Goaziou



Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-24 Thread Achim Gratz
Carsten Dominik writes:
 Indeed, too much punctuation.  How about something along these lines?
 
 #+OPTIONS: :enable *e: :disable ^|

 I agree with this proposal.  The property-lit like style should
 use longer names and avoid the short ones.  And we should also
 keep supporting the old compact style, and document it with a foot note
 in the manual.

Like this?

:enable / :disable

| option   | abbrev |
|--+|
| smart-quotes | '  |
| emphasis | *  |
| special-strings  | -  |
| fixed-width  | :  |
| timestamps   |   |
| sub-super-script | ^  |
| tables   | |  |


:toggle / :with / :without

| toggles | abbrev |
|-+|
| author  ||
| clocks  | c  |
| creator ||
| drawers | d  |
| entities| e  |
| email   ||
| footnotes   | f  |
| inlinetasks | inline |
| section-numbers | num|
| planning| p  |
| priority| ori|
| statistics  | stat   |
| tags||
| tasks   ||
| latex   | tex|
| timestamp   ||
| toc ||
| todo||


:with

| settings| abbrev |
|-+|
| arch=val  ||
| headline-levels=limit | H  |
| toc=limit ||


Achim.
-- 
+[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+

SD adaptation for Waldorf rackAttack V1.04R1:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada




Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-23 Thread Carsten Dominik

On 21.6.2013, at 22:41, Achim Gratz strom...@nexgo.de wrote:

 Nicolas Goaziou writes:
 Here is a preliminary patch. It doesn't update org.texi yet.
 
 I find the new syntax weird for one character keys:
 
  #+OPTIONS: :* t :e t :: t :f t :- t :^ t :| t
 
 Maybe we should expand them in order to make them less cryptic.
 
 Indeed, too much punctuation.  How about something along these lines?
 
 #+OPTIONS: :enable *e: :disable ^|

Hi,

I agree with this proposal.  The property-lit like style should
use longer names and avoid the short ones.  And we should also
keep supporting the old compact style, and document it with a foot note
in the manual.

- Carsten

 
 
 Regards,
 Achim.
 -- 
 +[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+
 
 SD adaptation for Waldorf rackAttack V1.04R1:
 http://Synth.Stromeko.net/Downloads.html#WaldorfSDada
 
 




Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-21 Thread Sebastien Vauban
Hello Nicolas,

Nicolas Goaziou wrote:
 Any objection to applying the following patch to master?

Not at all.

 Basically,

   #+HTML_INCLUDE_STYLE: nil

 becomes

   #+OPTIONS: html-style:nil

 and

   #+HTML_HTML5_FANCY: t

 becomes

   #+OPTIONS: html5-fancy:t

Though, I'd also even prefer the form

#+OPTIONS: :html-style nil

which would clone the way we pass options in the publishing project.

Whatever you decide, you proposed solution is better than the current one.

Best regards,
  Seb

-- 
Sebastien Vauban




Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-21 Thread Eric Abrahamsen
Nicolas Goaziou n.goaz...@gmail.com writes:

 Hello,

 Any objection to applying the following patch to master?

 Basically,

   #+HTML_INCLUDE_STYLE: nil

 becomes

   #+OPTIONS: html-style:nil

 and

   #+HTML_HTML5_FANCY: t

 becomes

   #+OPTIONS: html5-fancy:t


 Regards,

Looks good! +1 for merging :foo nil syntax from babel...




Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-21 Thread Carsten Dominik
Hi Nicolas,

This is a good change - I am also for merging it.

- Carsten

On Jun 20, 2013, at 9:20 PM, Nicolas Goaziou n.goaz...@gmail.com wrote:

 Hello,
 
 Any objection to applying the following patch to master?
 
 Basically,
 
  #+HTML_INCLUDE_STYLE: nil
 
 becomes
 
  #+OPTIONS: html-style:nil
 
 and
 
  #+HTML_HTML5_FANCY: t
 
 becomes
 
  #+OPTIONS: html5-fancy:t
 
 
 Regards,
 
 -- 
 Nicolas Goaziou
 0001-ox-html-Use-OPTIONS-items-instead-of-keywords-for-bo.patch




Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-21 Thread Nicolas Goaziou
Hello,

Carsten Dominik carsten.domi...@gmail.com writes:

 This is a good change - I am also for merging it.

Applied on master, since it introduces a syntax change. Tell me if you
want it on maint anyway (or just cherry-pick it yourself).

As for the move from #+OPTIONS: key:value to #+OPTIONS: :key value,
I can provide a patch, but it will break export in many documents.
A workaround would be to support both versions and document only the
newest one.


Regards,

-- 
Nicolas Goaziou



Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-21 Thread Rick Frankel

On 2013-06-21 13:28, Nicolas Goaziou wrote:

Hello,

Carsten Dominik carsten.domi...@gmail.com writes:

This is a good change - I am also for merging it.

Applied on master, since it introduces a syntax change. Tell me if you
want it on maint anyway (or just cherry-pick it yourself).

As for the move from #+OPTIONS: key:value to #+OPTIONS: :key value,
I can provide a patch, but it will break export in many documents.
A workaround would be to support both versions and document only the
newest one.



+1 for supporting both versions (with a deprecation on the old syntax) 
until

the next major release.

rick



Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-21 Thread Achim Gratz
Nicolas Goaziou writes:
 As for the move from #+OPTIONS: key:value to #+OPTIONS: :key value,
 I can provide a patch, but it will break export in many documents.
 A workaround would be to support both versions and document only the
 newest one.

I didn't know supporting both styles was in the cards.  If it isn't
overly complicated, that would be welcome of course.


Regards,
Achim.
-- 
+[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+

Waldorf MIDI Implementation  additional documentation:
http://Synth.Stromeko.net/Downloads.html#WaldorfDocs




Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-21 Thread Nicolas Goaziou
Hello,

Achim Gratz strom...@nexgo.de writes:

 Nicolas Goaziou writes:
 As for the move from #+OPTIONS: key:value to #+OPTIONS: :key value,
 I can provide a patch, but it will break export in many documents.
 A workaround would be to support both versions and document only the
 newest one.

 I didn't know supporting both styles was in the cards.  If it isn't
 overly complicated, that would be welcome of course.

Here is a preliminary patch. It doesn't update org.texi yet.

I find the new syntax weird for one character keys:

  #+OPTIONS: :* t :e t :: t :f t :- t :^ t :| t

Maybe we should expand them in order to make them less cryptic.


Regards,

-- 
Nicolas Goaziou
From df3934522fc922d4c1b1a88c4cfa9a6d06370720 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou n.goaz...@gmail.com
Date: Fri, 21 Jun 2013 20:49:05 +0200
Subject: [PATCH] ox: Change OPTIONS syntax from key:value to :key value

* lisp/ox.el (org-export--parse-option-keyword): Change OPTIONS syntax
  from key:value to :key value.  Still recognize old syntax for
  compatibility.
(org-export-insert-default-template): Use new syntax.
* testing/lisp/test-ox.el: Update tests.
---
 lisp/ox.el  | 26 +-
 testing/lisp/test-ox.el | 24 
 2 files changed, 29 insertions(+), 21 deletions(-)

diff --git a/lisp/ox.el b/lisp/ox.el
index e49de22..8a29908 100644
--- a/lisp/ox.el
+++ b/lisp/ox.el
@@ -1524,20 +1524,29 @@ specific items to read, if any.
 	  (append (and backend (org-export-backend-options backend))
 		  org-export-options-alist))
 	 plist)
-(dolist (option all)
+(dolist (option all plist)
   (let ((property (car option))
 	(item (nth 2 option)))
 	(when (and item
 		   (not (plist-member plist property))
-		   (string-match (concat \\(\\`\\|[ \t]\\)
-	 (regexp-quote item)
-	 :\\(([^)\n]+)\\|[^ \t\n\r;,.]*\\))
- options))
+		   (let ((item (regexp-quote item)))
+		 (or (string-match
+			  (concat \\(?:\\`\\|[ \t]\\):
+  item
+  [ \t]+\\(([^)\n]+)\\|[^ \t\n\r;,.]*\\))
+			  options)
+			 ;; Compatibility code for deprecated
+			 ;; item:value syntax.  It can be removed in
+			 ;; Org 9.0+.
+			 (string-match
+			  (concat \\(?:\\`\\|[ \t]\\)
+  item
+  :\\(([^)\n]+)\\|[^ \t\n\r;,.]*\\))
+			  options
 	  (setq plist (plist-put plist
  property
  (car (read-from-string
-   (match-string 2 options
-plist))
+   (match-string 1 options))
 
 (defun org-export--get-subtree-options (optional backend)
   Get export options in subtree at point.
@@ -3171,8 +3180,7 @@ locally for the subtree through node properties.
 (when options
   (let ((items
 	 (mapcar
-	  (lambda (opt)
-		(format %s:%s (car opt) (format %s (cdr opt
+	  (lambda (opt) (format :%s %s (car opt) (cdr opt)))
 	  (sort options (lambda (k1 k2) (string (car k1) (car k2)))
 	(if subtreep
 	(org-entry-put
diff --git a/testing/lisp/test-ox.el b/testing/lisp/test-ox.el
index cbae08a..1a9c241 100644
--- a/testing/lisp/test-ox.el
+++ b/testing/lisp/test-ox.el
@@ -120,9 +120,9 @@ already filled in `info'.
   (should
(equal
 (org-export--parse-option-keyword
- H:1 num:t \\n:t timestamp:t arch:t author:t creator:t d:t email:t
- *:t e:t ::t f:t pri:t -:t ^:t toc:t |:t tags:t tasks:t :t todo:t inline:nil
- stat:t)
+ :H 1 :num t :\\n t :timestamp t :arch t :author t :creator t :d t :email t
+ :* t :e t :: t :f t :pri t :- t :^ t :toc t :| t :tags t :tasks t : t :todo t
+ :inline nil :stat t)
 '(:headline-levels
   1 :preserve-breaks t :section-numbers t :time-stamp-file t
   :with-archived-trees t :with-author t :with-creator t :with-drawers t
@@ -135,13 +135,13 @@ already filled in `info'.
   (should
(equal
 (org-export--parse-option-keyword
- arch:headline creator:comment d:(\TEST\)
- ^:{} toc:1 tags:not-in-toc tasks:todo num:2 :active)
-'( :section-numbers
-   2
-   :with-archived-trees headline :with-creator comment
-   :with-drawers (TEST) :with-sub-superscript {} :with-toc 1
-   :with-tags not-in-toc :with-tasks todo :with-timestamps active
+ :arch headline :creator comment :d (\TEST\) :^ {} :toc 1
+ :tags not-in-toc :tasks todo :num 2 : active)
+'(:section-numbers
+  2
+  :with-archived-trees headline :with-creator comment
+  :with-drawers (TEST) :with-sub-superscript {} :with-toc 1
+  :with-tags not-in-toc :with-tasks todo :with-timestamps active
 
 (ert-deftest test-org-export/get-inbuffer-options ()
   Test reading all standard export keywords.
@@ -208,10 +208,10 @@ Paragraph
   :title
   '(subtree-title)
   ;; EXPORT_OPTIONS.
-  (org-test-with-temp-text #+OPTIONS: H:1
+  (org-test-with-temp-text #+OPTIONS: :H 1
 * Headline
   :PROPERTIES:
-  :EXPORT_OPTIONS: H:2
+  :EXPORT_OPTIONS: :H 2
   :END:
 Paragraph
 (forward-line)
-- 
1.8.3.1



Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-21 Thread Samuel Wales
On 6/21/13, Nicolas Goaziou n.goaz...@gmail.com wrote:
   #+OPTIONS: :* t :e t :: t :f t :- t :^ t :| t

 Maybe we should expand them in order to make them less cryptic.

To me, that would be ideal.

Samuel

-- 
The Kafka Pandemic: http://thekafkapandemic.blogspot.com

The disease DOES progress.  MANY people have died from it.  ANYBODY can get it.

Denmark: free Karina Hansen NOW.



Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-21 Thread Thorsten Jolitz
Nicolas Goaziou n.goaz...@gmail.com writes:

 I find the new syntax weird for one character keys:

   #+OPTIONS: :* t :e t :: t :f t :- t :^ t :| t

 Maybe we should expand them in order to make them less cryptic.

+1 for making this #+OPTIONS lines human readable ...

-- 
cheers,
Thorsten




Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-21 Thread Eric Schulte
 As for the move from #+OPTIONS: key:value to #+OPTIONS: :key value,
 I can provide a patch, but it will break export in many documents.
 A workaround would be to support both versions and document only the
 newest one.

 I didn't know supporting both styles was in the cards.  If it isn't
 overly complicated, that would be welcome of course.

 Here is a preliminary patch. It doesn't update org.texi yet.

 I find the new syntax weird for one character keys:

   #+OPTIONS: :* t :e t :: t :f t :- t :^ t :| t


I'm not sure how to weight aesthetics against consistency, but
personally I much prefer the previous

#+OPTIONS: *:t e:t ::t f:t -:t ^:t |:t

to the new possibility posted above.  In my opinion it is not as
important to be consistent with code block header arguments here as it
is to be legible.  All header arguments are full words and typically
have longer values, so they don't run into the same readability issues.

Just my 2ยข

-- 
Eric Schulte
http://cs.unm.edu/~eschulte



Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-21 Thread Achim Gratz
Nicolas Goaziou writes:
 Here is a preliminary patch. It doesn't update org.texi yet.

 I find the new syntax weird for one character keys:

   #+OPTIONS: :* t :e t :: t :f t :- t :^ t :| t

 Maybe we should expand them in order to make them less cryptic.

Indeed, too much punctuation.  How about something along these lines?

#+OPTIONS: :enable *e: :disable ^|


Regards,
Achim.
-- 
+[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+

SD adaptation for Waldorf rackAttack V1.04R1:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada




Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-20 Thread Nicolas Goaziou
Update.

I forgot to change

  #+HTML_INCLUDE_SCRIPTS: t

into

  #+OPTIONS: html-scripts:t

for the same reason.

-- 
Nicolas Goaziou
From f99c5a071e185301bbef576c042afa07f4c76488 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou n.goaz...@gmail.com
Date: Thu, 20 Jun 2013 21:14:57 +0200
Subject: [PATCH] ox-html: Use OPTIONS items instead of keywords for booleans

* lisp/ox-html.el (html): Replace HTML_HTML5_FANCY,
  HTML_INCLUDE_STYLE and HTML_INCLUDE_SCRIPTS with, respectively,
  :html5-fancy, html-style and html-scripts options.
(org-html-html5-fancy): Reformat docstring.
* doc/org.texi (HTML doctypes): Reflect keyword removal.
(CSS support): Reflect keyword removal.

The reasoning behind this change is that keywords can only store
strings as value.  Therefore, they are not suited for toggles (nil
vs nil) problem.
---
 doc/org.texi|  8 
 lisp/ox-html.el | 11 +--
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/doc/org.texi b/doc/org.texi
index bddc518..3f7c9fb 100644
--- a/doc/org.texi
+++ b/doc/org.texi
@@ -11055,7 +11055,7 @@ See the variable @code{org-html-doctype-alist} for details.  The default is
 
 HTML5 introduces several new element types.  By default, Org will not make
 use of these element types, but you can set @code{org-html-html5-fancy} to
-@code{t} (or use the corresponding @code{HTML_HTML5_FANCY} export option), to
+@code{t} (or set @code{html5-fancy} item in an @code{OPTIONS} line), to
 enable a few new block-level elements.  These are created using arbitrary
 #+BEGIN and #+END blocks. For instance:
 
@@ -11352,9 +11352,9 @@ Each exported file contains a compact default style that defines these
 classes in a basic way@footnote{This style is defined in the constant
 @code{org-html-style-default}, which you should not modify.  To turn
 inclusion of these defaults off, customize
-@code{org-html-head-include-default-style} or set @code{#+HTML_INCLUDE_STYLE}
-to @code{nil} on a per-file basis.}.  You may overwrite these settings, or add to
-them by using the variables @code{org-html-head} and
+@code{org-html-head-include-default-style} or set @code{html-style} to
+@code{nil} in an @code{OPTIONS} line.}.  You may overwrite these settings, or
+add to them by using the variables @code{org-html-head} and
 @code{org-html-head-extra}.  You can override the global values of these
 variables for each file by using these keywords:
 
diff --git a/lisp/ox-html.el b/lisp/ox-html.el
index 90d6a5d..a996b40 100644
--- a/lisp/ox-html.el
+++ b/lisp/ox-html.el
@@ -116,7 +116,7 @@
 (:html-link-org-as-html nil nil org-html-link-org-files-as-html)
 (:html-doctype HTML_DOCTYPE nil org-html-doctype)
 (:html-container HTML_CONTAINER nil org-html-container-element)
-(:html-html5-fancy HTML_HTML5_FANCY nil org-html-html5-fancy)
+(:html-html5-fancy nil html5-fancy org-html-html5-fancy)
 (:html-link-home HTML_LINK_HOME nil org-html-link-home)
 (:html-link-up HTML_LINK_UP nil org-html-link-up)
 (:html-mathjax HTML_MATHJAX nil  space)
@@ -124,8 +124,8 @@
 (:html-preamble nil html-preamble org-html-preamble)
 (:html-head HTML_HEAD nil org-html-head newline)
 (:html-head-extra HTML_HEAD_EXTRA nil org-html-head-extra newline)
-(:html-head-include-default-style HTML_INCLUDE_STYLE nil org-html-head-include-default-style newline)
-(:html-head-include-scripts HTML_INCLUDE_SCRIPTS nil org-html-head-include-scripts newline)
+(:html-head-include-default-style nil html-style org-html-head-include-default-style)
+(:html-head-include-scripts nil html-scripts org-html-head-include-scripts)
 (:html-table-attributes nil nil org-html-table-default-attributes)
 (:html-table-row-tags nil nil org-html-table-row-tags)
 (:html-xml-declaration nil nil org-html-xml-declaration)
@@ -919,9 +919,8 @@ publishing, with :html-doctype.
   :type 'string)
 
 (defcustom org-html-html5-fancy nil
-  When exporting to HTML5, set this to t to use new HTML5
-  elements. This variable is ignored for anything other than
-  HTML5.
+  Non-nil means using new HTML5 elements.
+This variable is ignored for anything other than HTML5 export.
 
 For compatibility with Internet Explorer, it's probably a good
 idea to download some form of the html5shiv (for instance
-- 
1.8.3.1



Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-20 Thread Samuel Wales
It seems reasonable to me.

I also think it is good that you are using hyphen-separated
human-readable identifiers like html-style instead of single-character
identifiers.

I wonder if it would be worth the backward incompatibility to make a:b
syntax become :a b syntax to be consistent with Babel and backends,
but presume we've already decided not to do so.

/ bikeshed

Samuel

-- 
The Kafka Pandemic: http://thekafkapandemic.blogspot.com

The disease DOES progress.  MANY people have died from it.  ANYBODY can get it.



Re: [O] [RFC] Replace some HTML related keywords with OPTIONS items

2013-06-20 Thread Achim Gratz
Samuel Wales writes:
 I wonder if it would be worth the backward incompatibility to make a:b
 syntax become :a b syntax to be consistent with Babel and backends,
 but presume we've already decided not to do so.

Yes, I do think that this sort of consistency would be welcome.


Regards,
Achim.
-- 
+[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+

SD adaptation for Waldorf microQ V2.22R2:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada