forked from mirrors/org-mode
ox-html: Use viewport
* ox-html.el (org-html--build-meta-info): Insert viewport. (org-html-viewport): New custom variable. * ORG-NEWS: Mention viewport. * org.texi: Mention org-html-viewport. Viewport makes org-generated html work well with small screens.
This commit is contained in:
parent
187dae0ab1
commit
a7becba686
|
@ -14260,6 +14260,7 @@ however, override everything.
|
|||
@item @code{:html-use-infojs} @tab @code{org-html-use-infojs}
|
||||
@item @code{:html-use-unicode-chars} @tab @code{org-html-use-unicode-chars}
|
||||
@item @code{:html-validation-link} @tab @code{org-html-validation-link}
|
||||
@item @code{:html-viewport} @tab @code{org-html-viewport}
|
||||
@item @code{:html-xml-declaration} @tab @code{org-html-xml-declaration}
|
||||
@end multitable
|
||||
|
||||
|
|
|
@ -353,6 +353,9 @@ However, parsed =KEYWORD= is automatically associated to an
|
|||
=:EXPORT_KEYWORD:= property, which can be used to override the keyword
|
||||
value during a subtree export. Moreover, macros are expanded in such
|
||||
keywords and properties.
|
||||
*** Viewport support in html export
|
||||
Viewport for mobile-optimized website is now automatically inserted
|
||||
when exporting to html. See ~org-html-viewport~ for details.
|
||||
** Miscellaneous
|
||||
*** Strip all meta data from ITEM special property
|
||||
ITEM special property does not contain TODO, priority or tags anymore.
|
||||
|
|
|
@ -162,6 +162,7 @@
|
|||
(:html-use-infojs nil nil org-html-use-infojs)
|
||||
(:html-use-unicode-chars nil nil org-html-use-unicode-chars)
|
||||
(:html-validation-link nil nil org-html-validation-link)
|
||||
(:html-viewport nil nil org-html-viewport)
|
||||
(:html-inline-images nil nil org-html-inline-images)
|
||||
(:html-table-attributes nil nil org-html-table-default-attributes)
|
||||
(:html-table-row-tags nil nil org-html-table-row-tags)
|
||||
|
@ -1403,6 +1404,53 @@ or for publication projects using the :html-head-extra property."
|
|||
;;;###autoload
|
||||
(put 'org-html-head-extra 'safe-local-variable 'stringp)
|
||||
|
||||
;;;; Template :: Viewport
|
||||
|
||||
(defcustom org-html-viewport '((width "device-width")
|
||||
(initial-scale "1")
|
||||
(minimum-scale "")
|
||||
(maximum-scale "")
|
||||
(user-scalable ""))
|
||||
"Viewport options for mobile-optimized sites.
|
||||
|
||||
The following values are recognized
|
||||
|
||||
width Size of the viewport.
|
||||
initial-scale Zoom level when the page is first loaded.
|
||||
minimum-scale Minimum allowed zoom level.
|
||||
maximum-scale Maximum allowed zoom level.
|
||||
user-scalable Whether zoom can be changed.
|
||||
|
||||
The viewport meta tag is inserted if this variable is non-nil.
|
||||
|
||||
See the following site for a reference:
|
||||
https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag"
|
||||
:group 'org-export-html
|
||||
:version "25.1"
|
||||
:package-version '(Org . "8.3")
|
||||
:type '(list :greedy t
|
||||
(list :tag "Width of viewport"
|
||||
(const :format " " width)
|
||||
(choice (const :tag "unset" "")
|
||||
(string)))
|
||||
(list :tag "Initial scale"
|
||||
(const :format " " initial-scale)
|
||||
(choice (const :tag "unset" "")
|
||||
(string)))
|
||||
(list :tag "Minimum scale/zoom"
|
||||
(const :format " " minimum-scale)
|
||||
(choice (const :tag "unset" "")
|
||||
(string)))
|
||||
(list :tag "Maximum scale/zoom"
|
||||
(const :format " " maximum-scale)
|
||||
(choice (const :tag "unset" "")
|
||||
(string)))
|
||||
(list :tag "User scalable/zoomable"
|
||||
(const :format " " user-scalable)
|
||||
(choice (const :tag "unset" "")
|
||||
(const "true")
|
||||
(const "false")))))
|
||||
|
||||
;;;; Todos
|
||||
|
||||
(defcustom org-html-todo-kwd-class-prefix ""
|
||||
|
@ -1681,7 +1729,20 @@ INFO is a plist used as a communication channel."
|
|||
(format " name=\"keywords\" content=\"%s\""
|
||||
(funcall protect-string keywords))
|
||||
info)
|
||||
"\n")))))
|
||||
"\n"))
|
||||
(let ((viewport-options
|
||||
(remove-if-not (lambda (cell) (org-string-nw-p (cadr cell)))
|
||||
(plist-get info :html-viewport))))
|
||||
(and viewport-options
|
||||
(concat
|
||||
(org-html-close-tag
|
||||
"meta"
|
||||
(format " name=\"viewport\" content=\"%s\""
|
||||
(mapconcat
|
||||
(lambda (elm) (format "%s=%s" (car elm) (cadr elm)))
|
||||
viewport ", "))
|
||||
info)
|
||||
"\n"))))))
|
||||
|
||||
(defun org-html--build-head (info)
|
||||
"Return information for the <head>..</head> of the HTML output.
|
||||
|
|
Loading…
Reference in a new issue