mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-12-03 08:30:03 +00:00
org-e-html: Some fixes and more cleanups
This commit is contained in:
parent
5061de6ee3
commit
58be118602
@ -746,17 +746,17 @@ borders and spacing."
|
||||
:group 'org-export-e-html
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-table-header-tags '("<th scope=\"%s\"%s>" . "</th>")
|
||||
(defcustom org-e-html-table-header-tags '("<th scope=\"%s\"%s>" . "</th>")
|
||||
"The opening tag for table header fields.
|
||||
This is customizable so that alignment options can be specified.
|
||||
The first %s will be filled with the scope of the field, either row or col.
|
||||
The second %s will be replaced by a style entry to align the field.
|
||||
See also the variable `org-e-html-table-use-header-tags-for-first-column'.
|
||||
See also the variable `org-e-html-table-align-individual-fields'."
|
||||
:group 'org-export-tables
|
||||
:group 'org-export-tables ; FIXME: change group?
|
||||
:type '(cons (string :tag "Opening tag") (string :tag "Closing tag")))
|
||||
|
||||
(defcustom org-export-table-data-tags '("<td%s>" . "</td>")
|
||||
(defcustom org-e-html-table-data-tags '("<td%s>" . "</td>")
|
||||
"The opening tag for table data fields.
|
||||
This is customizable so that alignment options can be specified.
|
||||
The first %s will be filled with the scope of the field, either row or col.
|
||||
@ -765,7 +765,7 @@ See also the variable `org-e-html-table-align-individual-fields'."
|
||||
:group 'org-export-tables
|
||||
:type '(cons (string :tag "Opening tag") (string :tag "Closing tag")))
|
||||
|
||||
(defcustom org-export-table-row-tags '("<tr>" . "</tr>")
|
||||
(defcustom org-e-html-table-row-tags '("<tr>" . "</tr>")
|
||||
"The opening tag for table data fields.
|
||||
This is customizable so that alignment options can be specified.
|
||||
Instead of strings, these can be Lisp forms that will be evaluated
|
||||
@ -774,7 +774,7 @@ the variable `head' will be true when this is a header line, nil when this
|
||||
is a body line. And the variable `nline' will contain the line number,
|
||||
starting from 1 in the first header line. For example
|
||||
|
||||
(setq org-export-table-row-tags
|
||||
(setq org-e-html-table-row-tags
|
||||
(cons '(if head
|
||||
\"<tr>\"
|
||||
(if (= (mod nline 2) 1)
|
||||
@ -1318,10 +1318,11 @@ that uses these same face definitions."
|
||||
;; tags
|
||||
(and tags (concat
|
||||
" "
|
||||
(org-e-html-format-fontify tags "tag")))))
|
||||
(format "<span class=\"tag\">%s</span>" tags)))))
|
||||
;; fontify headline based on TODO keyword
|
||||
(when todo (setq headline (org-e-html-format-fontify headline "todo")))
|
||||
(org-e-html-format-link headline (concat "#" href)))
|
||||
(when todo
|
||||
(setq headline (format "<span class=\"todo\">%s</span>" headline)))
|
||||
(format "<a href=\"#%s\">%s</a>" href headline))
|
||||
|
||||
(defun org-e-html-toc-entry-formatter
|
||||
(level snumber todo todo-type priority
|
||||
@ -1346,9 +1347,9 @@ that uses these same face definitions."
|
||||
(setq prev-level level)
|
||||
(concat
|
||||
(org-e-html-make-string
|
||||
times (cond ((> cnt 0) "<ul>\n<li>\n")
|
||||
times (cond ((> cnt 0) "\n<ul>\n<li>")
|
||||
((< cnt 0) "</li>\n</ul>\n")))
|
||||
(if (> cnt 0) "<ul>\n<li>\n" "</li>\n<li>\n")))
|
||||
(if (> cnt 0) "\n<ul>\n<li>" "</li>\n<li>")))
|
||||
headline)))
|
||||
toc-entries "")
|
||||
(org-e-html-make-string
|
||||
@ -1363,82 +1364,26 @@ that uses these same face definitions."
|
||||
headline info 'org-e-html-toc-entry-formatter)
|
||||
(org-export-get-relative-level headline info)))))
|
||||
(when toc-entries
|
||||
(let* ((lang-specific-heading "Table of Contents")) ; FIXME
|
||||
(let* ((lang-specific-heading
|
||||
(nth 3 (or (assoc (plist-get info :language)
|
||||
org-export-language-setup)
|
||||
(assoc "en" org-export-language-setup)))))
|
||||
(concat
|
||||
"<div id=\"table-of-contents\">\n"
|
||||
(org-e-html-format-heading lang-specific-heading
|
||||
(or org-e-html-toplevel-hlevel 1))
|
||||
(format "<h%d>%s</h%d>\n"
|
||||
org-e-html-toplevel-hlevel
|
||||
lang-specific-heading
|
||||
org-e-html-toplevel-hlevel)
|
||||
"<div id=\"text-table-of-contents\">"
|
||||
(org-e-html-toc-text toc-entries)
|
||||
"</div>\n"
|
||||
"</div>\n")))))
|
||||
|
||||
(defun org-e-html-begin-outline (level1 snumber title tags
|
||||
target extra-targets extra-class)
|
||||
(let* ((class (format "outline-%d" level1))
|
||||
(class (if extra-class (concat class " " extra-class) class))
|
||||
(id (format "outline-container-%s"
|
||||
(org-lparse-suffix-from-snumber snumber)))
|
||||
(extra (concat (when id (format " id=\"%s\"" id))
|
||||
(when class (format " class=\"%s\"" class)))))
|
||||
(org-lparse-insert-tag "<div%s>" extra)
|
||||
(insert
|
||||
(org-lparse-format 'HEADING
|
||||
(org-lparse-format
|
||||
'HEADLINE title extra-targets tags snumber level1)
|
||||
level1 target))))
|
||||
|
||||
(defun org-e-html-end-outline ()
|
||||
(org-lparse-insert-tag "</div>"))
|
||||
|
||||
|
||||
;; (defun org-e-html-format-heading (text level &optional id)
|
||||
;; (let* ((extra (concat (when id (format " id=\"%s\"" id)))))
|
||||
;; (concat (format "<h%d%s>" level extra) text (format "</h%d>" level))))
|
||||
|
||||
(defun org-e-html-suffix-from-snumber (snumber)
|
||||
(let* ((snu (replace-regexp-in-string "\\." "-" snumber))
|
||||
(href (cdr (assoc (concat "sec-" snu)
|
||||
org-export-preferred-target-alist))))
|
||||
(org-solidify-link-text (or href snu))))
|
||||
|
||||
(defun org-e-html-format-outline (contents level1 snumber title
|
||||
tags target extra-targets extra-class)
|
||||
(let* ((class (format "outline-%d" level1))
|
||||
(class (if extra-class (concat class " " extra-class) class))
|
||||
(id (and snumber ;; FIXME
|
||||
(format "outline-container-%s"
|
||||
(org-e-html-suffix-from-snumber snumber))))
|
||||
(extra (concat (when id (format " id=\"%s\"" id))
|
||||
(when class (format " class=\"%s\"" class)))))
|
||||
(concat
|
||||
(format "<div%s>\n" extra)
|
||||
(org-e-html-format-heading
|
||||
(org-e-html-format-headline title extra-targets tags snumber level1)
|
||||
level1 target)
|
||||
contents
|
||||
"</div>")))
|
||||
|
||||
(defun org-e-html-begin-outline-text (level1 snumber extra-class)
|
||||
(let* ((class (format "outline-text-%d" level1))
|
||||
(class (if extra-class (concat class " " extra-class) class))
|
||||
(id (format "text-%s" (org-lparse-suffix-from-snumber snumber)))
|
||||
(extra (concat (when id (format " id=\"%s\"" id))
|
||||
(when class (format " class=\"%s\"" class)))))
|
||||
(org-lparse-insert-tag "<div%s>" extra)))
|
||||
|
||||
(defun org-e-html-end-outline-text ()
|
||||
(org-lparse-insert-tag "</div>"))
|
||||
|
||||
;; (defun org-e-html-format-line (line)
|
||||
;; (case org-lparse-dyn-current-environment
|
||||
;; ((quote fixedwidth) (concat (org-e-html-encode-plain-text line) "\n"))
|
||||
;; (t (concat line "\n"))))
|
||||
|
||||
(defun org-e-html-format-comment (fmt &rest args)
|
||||
(let ((comment (apply 'format fmt args)))
|
||||
(format "\n<!-- %s -->\n" comment)))
|
||||
|
||||
(defun org-e-html-fix-class-name (kwd) ; audit callers of this function
|
||||
"Turn todo keyword into a valid class name.
|
||||
Replaces invalid characters with \"_\"."
|
||||
@ -1447,87 +1392,6 @@ Replaces invalid characters with \"_\"."
|
||||
(setq kwd (replace-match "_" t t kwd))))
|
||||
kwd)
|
||||
|
||||
(defun org-e-html-format-fontify (text style &optional id)
|
||||
(let (class extra how)
|
||||
(cond
|
||||
((eq style 'underline)
|
||||
(setq extra " style=\"text-decoration:underline;\"" ))
|
||||
((setq how (cdr (assoc style
|
||||
'((bold . ("<b>" . "</b>"))
|
||||
(emphasis . ("<i>" . "</i>"))
|
||||
(code . ("<code>" . "</code>"))
|
||||
(verbatim . ("<code>" . "</code>"))
|
||||
(strike . ("<del>" . "</del>"))
|
||||
(subscript . ("<sub>" . "</sub>"))
|
||||
(superscript . ("<sup>" . "</sup>")))))))
|
||||
((listp style)
|
||||
(setq class (mapconcat 'identity style " ")))
|
||||
((stringp style)
|
||||
(setq class style))
|
||||
(t (error "Unknown style %S" style)))
|
||||
|
||||
(setq extra (concat (when class (format " class=\"%s\"" class))
|
||||
(when id (format " id=\"%s\"" id))
|
||||
extra))
|
||||
|
||||
(let ((tags (or how '("<span%s>" . "</span>"))))
|
||||
(concat (format (car tags) extra) text (cdr tags)))))
|
||||
|
||||
(defun org-e-html-format-link (text href &optional extra)
|
||||
(let ((extra (concat (format " href=\"%s\"" href)
|
||||
(and extra (concat " " extra)))))
|
||||
(format "<a%s>%s</a>" extra text)))
|
||||
|
||||
(defun org-e-html-format-internal-link (text href &optional extra)
|
||||
(org-e-html-format-link text (concat "#" href) extra))
|
||||
|
||||
(defun org-e-html-format-heading (text level &optional id)
|
||||
(let* ((extra (concat (when id (format " id=\"%s\"" id)))))
|
||||
(concat (format "<h%d%s>" level extra) text (format "</h%d>\n" level))))
|
||||
|
||||
(defun org-e-html-format-anchor (text name &optional class)
|
||||
(let* ((id name)
|
||||
(extra (concat
|
||||
(when name (format " name=\"%s\"" name))
|
||||
(when id (format " id=\"%s\"" id))
|
||||
(when class (format " class=\"%s\"" class)))))
|
||||
(format "<a%s>%s</a>" extra text)))
|
||||
|
||||
(defun org-e-html-format-extra-targets (extra-targets)
|
||||
(if (not extra-targets) ""
|
||||
(mapconcat (lambda (x)
|
||||
(when x
|
||||
(setq x (org-solidify-link-text
|
||||
(if (org-uuidgen-p x) (concat "ID-" x) x)))
|
||||
(org-e-html-format-anchor "" x))) extra-targets "")))
|
||||
|
||||
(defun org-e-html-format-org-tags (tags)
|
||||
(if (not tags) ""
|
||||
(org-e-html-format-fontify
|
||||
(mapconcat
|
||||
(lambda (x)
|
||||
(org-e-html-format-fontify
|
||||
x (concat org-e-html-tag-class-prefix
|
||||
(org-e-html-fix-class-name x))))
|
||||
(org-split-string tags ":")
|
||||
" ") "tag")))
|
||||
|
||||
(defun org-e-html-format-section-number (&optional snumber level)
|
||||
;; FIXME
|
||||
(and org-export-with-section-numbers
|
||||
;; (not org-lparse-body-only)
|
||||
snumber level
|
||||
(org-e-html-format-fontify snumber (format "section-number-%d" level))))
|
||||
|
||||
(defun org-e-html-format-headline (title extra-targets tags
|
||||
&optional snumber level)
|
||||
(concat
|
||||
(org-e-html-format-extra-targets extra-targets)
|
||||
(concat (org-e-html-format-section-number snumber level) " ")
|
||||
title
|
||||
(and tags (concat " "
|
||||
(org-e-html-format-org-tags tags)))))
|
||||
|
||||
(defun org-e-html-format-footnote-reference (n def refcnt)
|
||||
(let ((extra (if (= refcnt 1) "" (format ".%d" refcnt))))
|
||||
(format org-e-html-footnote-format
|
||||
@ -1564,14 +1428,10 @@ Replaces invalid characters with \"_\"."
|
||||
(nth 4 (or (assoc (plist-get info :language)
|
||||
org-export-language-setup)
|
||||
(assoc "en" org-export-language-setup)))
|
||||
|
||||
(format
|
||||
"<table border=\"2\" cellspacing=\"0\" cellpadding=\"6\" rules=\"groups\" frame=\"hsides\">\n%s\n</table>\n"
|
||||
"<table>\n%s\n</table>\n"
|
||||
(mapconcat 'org-e-html-format-footnote-definition fn-alist "\n"))))))
|
||||
|
||||
(defun org-e-html-format-org-entity (wd)
|
||||
(org-entity-get-representation wd 'html))
|
||||
|
||||
(defun org-e-html-get-coding-system-for-write ()
|
||||
(or org-e-html-coding-system
|
||||
(and (boundp 'buffer-file-coding-system) buffer-file-coding-system)))
|
||||
@ -2226,12 +2086,10 @@ CONTENTS is nil. INFO is a plist holding contextual information."
|
||||
|
||||
(defun org-e-html-todo (todo)
|
||||
(when todo
|
||||
(org-e-html-format-fontify
|
||||
(concat
|
||||
org-e-html-todo-kwd-class-prefix
|
||||
(org-e-html-fix-class-name todo))
|
||||
(list (if (member todo org-done-keywords) "done" "todo")
|
||||
todo))))
|
||||
(format "<span class=\"%s %s%s\">%s</span>"
|
||||
(if (member todo org-done-keywords) "done" "todo")
|
||||
org-e-html-todo-kwd-class-prefix (org-e-html-fix-class-name todo)
|
||||
todo)))
|
||||
|
||||
(defun org-e-html-headline-text (headline info &optional formatter)
|
||||
"Transcode an HEADLINE element from Org to HTML.
|
||||
@ -2363,10 +2221,45 @@ holding contextual information."
|
||||
(t
|
||||
;; (format section-fmt full-text
|
||||
;; (concat headline-label pre-blanks contents))
|
||||
|
||||
(org-e-html-format-outline contents level section-no full-text tags
|
||||
(car (last headline-labels))
|
||||
(butlast headline-labels) nil)))))
|
||||
(let* ((extra-class nil) ; FIXME
|
||||
(extra-ids nil) ; FIXME
|
||||
(level1 (+ level (1- org-e-html-toplevel-hlevel)))
|
||||
(title
|
||||
(concat
|
||||
;; extra-ids
|
||||
(mapconcat
|
||||
(lambda (x)
|
||||
(when x
|
||||
(let ((id (org-solidify-link-text
|
||||
(if (org-uuidgen-p x) (concat "ID-" x) x))))
|
||||
(format "<a id=\"%s\" name=\"%s\"/>" id id))))
|
||||
extra-ids "")
|
||||
;; section number
|
||||
(and (plist-get info :section-numbers)
|
||||
(format "<span class=\"section-number-%d\">%s</span> "
|
||||
level1 (mapconcat 'number-to-string headline-no
|
||||
".")))
|
||||
;; full-text
|
||||
full-text
|
||||
;; tags
|
||||
(and (plist-get info :with-tags) tags
|
||||
(concat
|
||||
" "
|
||||
(format "<span class=\"tag\">%s</span>"
|
||||
(mapconcat
|
||||
(lambda (tag)
|
||||
(format "<span class=\"%s\">%s</span>"
|
||||
(concat org-e-html-tag-class-prefix
|
||||
(org-e-html-fix-class-name tag))
|
||||
tag))
|
||||
(org-split-string tags ":") " "))))))
|
||||
(id (mapconcat 'number-to-string headline-no "-")))
|
||||
(format "<div id=\"%s\" class=\"%s\">%s%s</div>\n"
|
||||
(format "outline-container-%s" id)
|
||||
(concat (format "outline-%d" level1) (and extra-class " ")
|
||||
extra-class)
|
||||
(format "\n<h%d id=\"sec-%s\">%s</h%d>\n" level1 id title level1)
|
||||
contents))))))
|
||||
|
||||
|
||||
;;;; Horizontal Rule
|
||||
@ -2447,15 +2340,15 @@ holding contextual information."
|
||||
|
||||
;;;; Item
|
||||
|
||||
(defun org-e-html-checkbox (checkbox)
|
||||
(case checkbox (on "<code>[X]</code>")
|
||||
(off "<code>[ ]</code>")
|
||||
(trans "<code>[-]</code>")
|
||||
(t "")))
|
||||
|
||||
(defun org-e-html-format-list-item (contents type checkbox
|
||||
&optional term-counter-id
|
||||
headline)
|
||||
(when checkbox
|
||||
(setq checkbox
|
||||
(org-e-html-format-fontify (case checkbox
|
||||
(on "[X]")
|
||||
(off "[ ]")
|
||||
(trans "[-]")) 'code)))
|
||||
(concat
|
||||
(case type
|
||||
(ordered
|
||||
@ -2472,7 +2365,8 @@ holding contextual information."
|
||||
(let* ((term term-counter-id))
|
||||
(setq term (or term "(no term)"))
|
||||
(concat (format "<dt> %s </dt>" term) "<dd>"))))
|
||||
checkbox (and checkbox " ") contents
|
||||
(org-e-html-checkbox checkbox) (and checkbox " ")
|
||||
contents
|
||||
(case type
|
||||
(ordered "</li>")
|
||||
(unordered "</li>")
|
||||
@ -2575,7 +2469,7 @@ CONTENTS is nil. INFO is a plist holding contextual information."
|
||||
(text (if (string-match "\\`[a-z]\\{1,10\\}:\\(.+\\)" label)
|
||||
(substring label (match-beginning 1))
|
||||
label)))
|
||||
(org-e-html-format-internal-link text href)))
|
||||
(format "<a href=\"#%s\">%s</a>" href text)))
|
||||
(t (let ((processing-type (plist-get info :LaTeX-fragments)))
|
||||
(cond
|
||||
((member processing-type '(t mathjax))
|
||||
@ -2657,9 +2551,9 @@ INFO is a plist holding contextual information. See
|
||||
;; Target or radioed target: replace link with the normalized
|
||||
;; custom-id/target name.
|
||||
((member type '("target" "radio"))
|
||||
(org-e-html-format-internal-link
|
||||
(or desc (org-export-secondary-string path 'e-html info))
|
||||
(org-export-solidify-link-text path)))
|
||||
(format "<a href=\"#%s\">%s</a>"
|
||||
(org-export-solidify-link-text path)
|
||||
(or desc (org-export-secondary-string path 'e-html info))))
|
||||
;; Links pointing to an headline: Find destination and build
|
||||
;; appropriate referencing commanding.
|
||||
((member type '("custom-id" "fuzzy" "id"))
|
||||
@ -2669,13 +2563,12 @@ INFO is a plist holding contextual information. See
|
||||
;; Fuzzy link points to a target. Do as above.
|
||||
(case (org-element-type destination)
|
||||
(target
|
||||
(org-e-html-format-internal-link
|
||||
(or desc
|
||||
(org-export-secondary-string
|
||||
(org-element-property :raw-link link)
|
||||
'e-html info))
|
||||
(org-export-solidify-link-text
|
||||
(org-element-property :raw-value destination))))
|
||||
(format "<a href=\"#%s\">%s</a>"
|
||||
(org-export-solidify-link-text (org-element-property
|
||||
:raw-value destination))
|
||||
(or desc (org-export-secondary-string
|
||||
(org-element-property :raw-link link)
|
||||
'e-html info))))
|
||||
;; Fuzzy link points to an headline. If headlines are
|
||||
;; numbered and the link has no description, display
|
||||
;; headline's number. Otherwise, display description or
|
||||
@ -2689,18 +2582,16 @@ INFO is a plist holding contextual information. See
|
||||
"-"))))
|
||||
(if (and (plist-get info :section-numbers) (not desc))
|
||||
(format "\\ref{%s}" label)
|
||||
(org-e-html-format-internal-link
|
||||
(or desc
|
||||
(org-export-secondary-string
|
||||
(org-element-property :title destination)
|
||||
'e-html info)) label))))
|
||||
(format "<a href=\"#%s\">%s</a>"
|
||||
label (or desc
|
||||
(org-export-secondary-string
|
||||
(org-element-property :title destination)
|
||||
'e-html info))))))
|
||||
;; Fuzzy link points nowhere.
|
||||
(otherwise
|
||||
(org-e-html-format-fontify
|
||||
(or desc
|
||||
(org-export-secondary-string
|
||||
(org-element-property :raw-link link)
|
||||
'e-html info)) 'emphasis)))))
|
||||
(format "<i>%s</i>" (or desc (org-export-secondary-string
|
||||
(org-element-property :raw-link link)
|
||||
'e-html info)))))))
|
||||
;; Coderef: replace link with the reference name or the
|
||||
;; equivalent line number.
|
||||
((string= type "coderef")
|
||||
@ -2710,11 +2601,11 @@ INFO is a plist holding contextual information. See
|
||||
((functionp (setq protocol (nth 2 (assoc type org-link-protocols))))
|
||||
(funcall protocol (org-link-unescape path) desc 'html))
|
||||
;; External link with a description part.
|
||||
((and path desc) (org-e-html-format-link desc path))
|
||||
((and path desc) (format "<a href=\"%s\">%s</a>" path desc))
|
||||
;; External link without a description part.
|
||||
(path (org-e-html-format-link path path))
|
||||
(path (format "<a href=\"%s\">%s</a>" path path))
|
||||
;; No path, only description. Try to do something useful.
|
||||
(t (org-e-html-format-fontify desc 'emphasis)))))
|
||||
(t (format "<i>%s</i>" desc)))))
|
||||
|
||||
|
||||
;;;; Babel Call
|
||||
@ -2748,7 +2639,7 @@ the plist used as a communication channel."
|
||||
(org-element-property :contents-begin parent)))
|
||||
;; leading paragraph in a list item have no tags
|
||||
contents)
|
||||
(t (concat (format "<p%s> " extra) contents "</p>")))))
|
||||
(t (format "\n<p%s>\n%s\n</p>" extra contents)))))
|
||||
|
||||
|
||||
;;;; Plain List
|
||||
@ -2882,7 +2773,8 @@ holding contextual information."
|
||||
;; Before first headline: no container, just return CONTENTS.
|
||||
(if (not parent) contents
|
||||
;; Get div's class and id references.
|
||||
(let ((class-num (org-export-get-relative-level parent info))
|
||||
(let ((class-num (+ (org-export-get-relative-level parent info)
|
||||
(1- org-e-html-toplevel-hlevel)))
|
||||
(id-num
|
||||
(mapconcat
|
||||
'number-to-string
|
||||
@ -2897,9 +2789,9 @@ holding contextual information."
|
||||
"Transcode a RADIO-TARGET object from Org to HTML.
|
||||
TEXT is the text of the target. INFO is a plist holding
|
||||
contextual information."
|
||||
(org-e-html-format-anchor
|
||||
text (org-export-solidify-link-text
|
||||
(org-element-property :raw-value radio-target))))
|
||||
(let ((id (org-export-solidify-link-text
|
||||
(org-element-property :raw-value radio-target))))
|
||||
(format "<a id=\"%s\" name=\"%s\">%s</a>" id id text)))
|
||||
|
||||
|
||||
;;;; Special Block
|
||||
@ -2939,7 +2831,7 @@ contextual information."
|
||||
"Transcode a STATISTICS-COOKIE object from Org to HTML.
|
||||
CONTENTS is nil. INFO is a plist holding contextual information."
|
||||
(let ((cookie-value (org-element-property :value statistics-cookie)))
|
||||
(org-e-html-format-fontify cookie-value 'code)))
|
||||
(format "<code>%s</code>" cookie-value)))
|
||||
|
||||
|
||||
;;;; Subscript
|
||||
@ -2988,20 +2880,20 @@ contextual information."
|
||||
(cond
|
||||
(org-e-html-table-cur-rowgrp-is-hdr
|
||||
(concat
|
||||
(format (car org-export-table-header-tags) "col" cell-style-cookie)
|
||||
text (cdr org-export-table-header-tags)))
|
||||
(format (car org-e-html-table-header-tags) "col" cell-style-cookie)
|
||||
text (cdr org-e-html-table-header-tags)))
|
||||
((and (= c 0) org-e-html-table-use-header-tags-for-first-column)
|
||||
(concat
|
||||
(format (car org-export-table-header-tags) "row" cell-style-cookie)
|
||||
text (cdr org-export-table-header-tags)))
|
||||
(format (car org-e-html-table-header-tags) "row" cell-style-cookie)
|
||||
text (cdr org-e-html-table-header-tags)))
|
||||
(t
|
||||
(concat
|
||||
(format (car org-export-table-data-tags) cell-style-cookie)
|
||||
text (cdr org-export-table-data-tags))))))
|
||||
(format (car org-e-html-table-data-tags) cell-style-cookie)
|
||||
text (cdr org-e-html-table-data-tags))))))
|
||||
|
||||
(defun org-e-html-format-table-row (row)
|
||||
(concat (eval (car org-export-table-row-tags)) row
|
||||
(eval (cdr org-export-table-row-tags))))
|
||||
(concat (eval (car org-e-html-table-row-tags)) row
|
||||
(eval (cdr org-e-html-table-row-tags))))
|
||||
|
||||
(defun org-e-html-table-row (fields &optional text-for-empty-fields)
|
||||
(incf org-e-html-table-rownum)
|
||||
@ -3169,9 +3061,9 @@ CONTENTS is nil. INFO is a plist holding contextual information."
|
||||
"Transcode a TARGET object from Org to HTML.
|
||||
TEXT is the text of the target. INFO is a plist holding
|
||||
contextual information."
|
||||
(org-e-html-format-anchor
|
||||
text (org-export-solidify-link-text
|
||||
(org-element-property :raw-value target))))
|
||||
(let ((id (org-export-solidify-link-text
|
||||
(org-element-property :raw-value target))))
|
||||
(format "<a id=\"%s\" name=\"%s\">%s</a>" id id text)))
|
||||
|
||||
|
||||
;;;; Time-stamp
|
||||
@ -3180,34 +3072,19 @@ contextual information."
|
||||
"Transcode a TIME-STAMP object from Org to HTML.
|
||||
CONTENTS is nil. INFO is a plist holding contextual
|
||||
information."
|
||||
;; (let ((value (org-element-property :value time-stamp))
|
||||
;; (type (org-element-property :type time-stamp))
|
||||
;; (appt-type (org-element-property :appt-type time-stamp)))
|
||||
;; (concat (cond ((eq appt-type 'scheduled)
|
||||
;; (format "\\textbf{\\textsc{%s}} " org-scheduled-string))
|
||||
;; ((eq appt-type 'deadline)
|
||||
;; (format "\\textbf{\\textsc{%s}} " org-deadline-string))
|
||||
;; ((eq appt-type 'closed)
|
||||
;; (format "\\textbf{\\textsc{%s}} " org-closed-string)))
|
||||
;; (cond ((memq type '(active active-range))
|
||||
;; (format org-e-html-active-timestamp-format value))
|
||||
;; ((memq type '(inactive inactive-range))
|
||||
;; (format org-e-html-inactive-timestamp-format value))
|
||||
;; (t
|
||||
;; (format org-e-html-diary-timestamp-format value)))))
|
||||
(let ((value (org-element-property :value time-stamp))
|
||||
(type (org-element-property :type time-stamp))
|
||||
(appt-type (org-element-property :appt-type time-stamp)))
|
||||
(setq value (org-export-secondary-string value 'e-html info))
|
||||
(org-e-html-format-fontify
|
||||
(concat
|
||||
(org-e-html-format-fontify
|
||||
(cond ((eq appt-type 'scheduled) org-scheduled-string)
|
||||
((eq appt-type 'deadline) org-deadline-string)
|
||||
((eq appt-type 'closed) org-closed-string)) "timestamp-kwd")
|
||||
;; FIXME: (org-translate-time value)
|
||||
(org-e-html-format-fontify value "timestamp"))
|
||||
"timestamp-wrapper")))
|
||||
(setq value (org-translate-time
|
||||
(org-export-secondary-string value 'e-html info)))
|
||||
(setq appt-type (case appt-type
|
||||
(scheduled org-scheduled-string)
|
||||
(deadline org-deadline-string)
|
||||
(closed org-closed-string)))
|
||||
(format "<span class=\"timestamp-wrapper\">%s%s</span>"
|
||||
(if (not appt-type) ""
|
||||
(format "<span class=\"timestamp-kwd\">%s</span> " appt-type))
|
||||
(format "<span class=\"timestamp\">%s</span>" value))))
|
||||
|
||||
|
||||
;;;; Verbatim
|
||||
@ -3348,5 +3225,10 @@ Return output file's name."
|
||||
;;;; org-e-html-tag-class-prefix
|
||||
;;;; org-e-html-footnote-separator
|
||||
|
||||
;;;; org-export-preferred-target-alist
|
||||
;;;; org-solidify-link-text
|
||||
;;;; class for anchors
|
||||
;;;; org-export-with-section-numbers, body-only
|
||||
|
||||
(provide 'org-e-html)
|
||||
;;; org-e-html.el ends here
|
||||
|
Loading…
Reference in New Issue
Block a user