浏览代码

ox-html.el (org-html-plain-list): Handle alphabetical ordered list

* ox-html.el (org-html-begin-plain-list): New parameter
`ordered-num' to tell whether the list is ordered numerically.
(org-html-plain-list): Handle alphabetical ordered list.
Bastien Guerry 11 年之前
父节点
当前提交
8012d88db7
共有 1 个文件被更改,包括 10 次插入10 次删除
  1. 10 10
      lisp/ox-html.el

+ 10 - 10
lisp/ox-html.el

@@ -2679,16 +2679,12 @@ the plist used as a communication channel."
 
 ;;;; Plain List
 
-;; FIXME Maybe arg1 is not needed because <li value="20"> already sets
-;; the correct value for the item counter
-(defun org-html-begin-plain-list (type &optional arg1)
+(defun org-html-begin-plain-list (type ordered-num)
   "Insert the beginning of the HTML list depending on TYPE.
-When ARG1 is a string, use it as the start parameter for ordered
-lists."
+If ORDERED-NUM is nil, the list order is alphabetical."
   (case type
-    (ordered
-     (format "<ol class=\"org-ol\"%s>"
-	     (if arg1 (format " start=\"%d\"" arg1) "")))
+    (ordered (format "<ol class=\"org-ol\"%s>"
+		     (if ordered-num "" " type=\"a\"")))
     (unordered "<ul class=\"org-ul\">")
     (descriptive "<dl class=\"org-dl\">")))
 
@@ -2703,10 +2699,14 @@ lists."
   "Transcode a PLAIN-LIST element from Org to HTML.
 CONTENTS is the contents of the list.  INFO is a plist holding
 contextual information."
-  (let* (arg1 ;; (assoc :counter (org-element-map plain-list 'item
+  (let* ((ordered-num
+	  (org-element-map plain-list 'item
+	    (lambda (i)
+	      (null (string-to-number (org-element-property :bullet i))))
+	    info 'first-match))
 	 (type (org-element-property :type plain-list)))
     (format "%s\n%s%s"
-	    (org-html-begin-plain-list type)
+	    (org-html-begin-plain-list type ordered-num)
 	    contents (org-html-end-plain-list type))))
 
 ;;;; Plain Text