annotate lisp/org/org-jsinfo.el @ 99613:785924da433d

(Splitting Windows, Deleting Windows) (Selecting Windows, Cyclic Window Ordering) (Buffers and Windows, Displaying Buffers, Choosing Window) (Dedicated Windows, Window Point, Window Start and End) (Textual Scrolling, Vertical Scrolling, Horizontal Scrolling) (Size of Window, Resizing Windows, Window Configurations) (Window Parameters): Avoid @var at beginning of sentences and reword accordingly.
author Martin Rudalics <rudalics@gmx.at>
date Sun, 16 Nov 2008 10:15:30 +0000
parents e3acb52d33e1
children 621e15919df0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
94750
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
1 ;;; org-jsinfo.el --- Support for org-info.js Javascript in Org HTML export
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
2
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
3 ;; Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
4
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
5 ;; Author: Carsten Dominik <carsten at orgmode dot org>
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
6 ;; Keywords: outlines, hypermedia, calendar, wp
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
7 ;; Homepage: http://orgmode.org
99501
e3acb52d33e1 2008-11-12 Carsten Dominik <carsten.dominik@gmail.com>
Carsten Dominik <dominik@science.uva.nl>
parents: 99139
diff changeset
8 ;; Version: 6.12a
94750
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
9 ;;
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
10 ;; This file is part of GNU Emacs.
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
11 ;;
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
12 ;; GNU Emacs is free software: you can redistribute it and/or modify
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
13 ;; it under the terms of the GNU General Public License as published by
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
14 ;; the Free Software Foundation, either version 3 of the License, or
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
15 ;; (at your option) any later version.
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
16
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
17 ;; GNU Emacs is distributed in the hope that it will be useful,
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
20 ;; GNU General Public License for more details.
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
21
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
22 ;; You should have received a copy of the GNU General Public License
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
23 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
24 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
25 ;;
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
26 ;;; Commentary:
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
27
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
28 ;; This file implements the support for Sebastian Rose's Javascript
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
29 ;; org-info.js to display an org-mode file exported to HTML in an
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
30 ;; Info-like way, or using folding similar to the outline structure
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
31 ;; org org-mode itself.
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
32
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
33 ;; Documentation for using this module is in the Org manual. The script
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
34 ;; itself is documented by Sebastian Rose in a file distributed with
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
35 ;; the script. FIXME: Accurate pointers!
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
36
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
37 ;; Org-mode loads this module by default - if this is not what you want,
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
38 ;; configure the variable `org-modules'.
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
39
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
40 ;;; Code:
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
41
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
42 (require 'org-exp)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
43
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
44 (add-to-list 'org-export-inbuffer-options-extra '("INFOJS_OPT" :infojs-opt))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
45 (add-hook 'org-export-options-filters 'org-infojs-handle-options)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
46
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
47 (defgroup org-infojs nil
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
48 "Options specific for using org-info.js in HTML export of Org-mode files."
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
49 :tag "Org Export HTML INFOJS"
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
50 :group 'org-export-html)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
51
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
52 (defcustom org-export-html-use-infojs 'when-configured
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
53 "Should Sebasian Rose's Java Script org-info.js be linked into HTML files?
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
54 This option can be nil or t to never or always use the script. It can
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
55 also be the symbol `when-configured', meaning that the script will be
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
56 linked into the export file if and only if there is a \"#+INFOJS_OPT:\"
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
57 line in the buffer. See also the variable `org-infojs-options'."
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
58 :group 'org-export-html
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
59 :group 'org-infojs
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
60 :type '(choice
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
61 (const :tag "Never" nil)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
62 (const :tag "When configured in buffer" when-configured)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
63 (const :tag "Always" t)))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
64
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
65 (defconst org-infojs-opts-table
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
66 '((path PATH "http://orgmode.org/org-info.js")
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
67 (view VIEW "info")
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
68 (toc TOC :table-of-contents)
96044
c1ef445563bb 2008-06-17 Carsten Dominik <dominik@science.uva.nl>
Carsten Dominik <dominik@science.uva.nl>
parents: 94757
diff changeset
69 (ftoc FIXED_TOC "0")
94750
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
70 (tdepth TOC_DEPTH "max")
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
71 (sdepth SECTION_DEPTH "max")
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
72 (mouse MOUSE_HINT "underline")
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
73 (buttons VIEW_BUTTONS "0")
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
74 (ltoc LOCAL_TOC "1")
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
75 (up LINK_UP :link-up)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
76 (home LINK_HOME :link-home))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
77 "JavaScript options, long form for script, default values.")
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
78
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
79 (defvar org-infojs-options)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
80 (when (and (boundp 'org-infojs-options)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
81 (assq 'runs org-infojs-options))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
82 (setq org-infojs-options (delq (assq 'runs org-infojs-options)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
83 org-infojs-options)))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
84
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
85 (defcustom org-infojs-options
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
86 (mapcar (lambda (x) (cons (car x) (nth 2 x)))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
87 org-infojs-opts-table)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
88 "Options settings for the INFOJS Javascript.
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
89 Each of the options must have an entry in `org-export-html/infojs-opts-table'.
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
90 The value can either be a string that will be passed to the script, or
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
91 a property. This property is then assumed to be a property that is defined
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
92 by the Export/Publishing setup of Org.
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
93 The `sdepth' and `tdepth' parameters can also be set to \"max\", which
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
94 means to use the maximum value consistent with other options."
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
95 :group 'org-infojs
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
96 :type
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
97 `(set :greedy t :inline t
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
98 ,@(mapcar
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
99 (lambda (x)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
100 (list 'cons (list 'const (car x))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
101 '(choice
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
102 (symbol :tag "Publishing/Export property")
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
103 (string :tag "Value"))))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
104 org-infojs-opts-table)))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
105
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
106 (defcustom org-infojs-template
99501
e3acb52d33e1 2008-11-12 Carsten Dominik <carsten.dominik@gmail.com>
Carsten Dominik <dominik@science.uva.nl>
parents: 99139
diff changeset
107 "<script type=\"text/javascript\" src=\"%SCRIPT_PATH\"></script>
e3acb52d33e1 2008-11-12 Carsten Dominik <carsten.dominik@gmail.com>
Carsten Dominik <dominik@science.uva.nl>
parents: 99139
diff changeset
108 <script type=\"text/javascript\" >
94750
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
109 /* <![CDATA[ */
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
110 %MANAGER_OPTIONS
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
111 org_html_manager.setup(); // activate after the parameterd are set
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
112 /* ]]> */
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
113 </script>"
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
114 "The template for the export style additions when org-info.js is used.
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
115 Option settings will replace the %MANAGER-OPTIONS cookie."
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
116 :group 'org-infojs
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
117 :type 'string)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
118
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
119 (defun org-infojs-handle-options (exp-plist)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
120 "Analyze JavaScript options in INFO-PLIST and modify EXP-PLIST accordingly."
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
121 (if (or (not org-export-html-use-infojs)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
122 (and (eq org-export-html-use-infojs 'when-configured)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
123 (or (not (plist-get exp-plist :infojs-opt))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
124 (string-match "\\<view:nil\\>"
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
125 (plist-get exp-plist :infojs-opt)))))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
126 ;; We do not want to use the script
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
127 exp-plist
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
128 ;; We do want to use the script, set it up
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
129 (let ((template org-infojs-template)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
130 (ptoc (plist-get exp-plist :table-of-contents))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
131 (hlevels (plist-get exp-plist :headline-levels))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
132 tdepth sdepth p1 s p v a1 tmp e opt var val table default)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
133 (setq sdepth hlevels
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
134 tdepth hlevels)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
135 (if (integerp ptoc) (setq tdepth (min ptoc tdepth)))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
136 (setq v (plist-get exp-plist :infojs-opt)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
137 table org-infojs-opts-table)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
138 (while (setq e (pop table))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
139 (setq opt (car e) var (nth 1 e)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
140 default (cdr (assoc opt org-infojs-options)))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
141 (and (symbolp default) (not (memq default '(t nil)))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
142 (setq default (plist-get exp-plist default)))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
143 (if (string-match (format " %s:\\(\\S-+\\)" opt) v)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
144 (setq val (match-string 1 v))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
145 (setq val default))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
146 (cond
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
147 ((eq opt 'path)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
148 (and (string-match "%SCRIPT_PATH" template)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
149 (setq template (replace-match val t t template))))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
150 ((eq opt 'sdepth)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
151 (if (integerp (read val))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
152 (setq sdepth (min (read val) hlevels))))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
153 ((eq opt 'tdepth)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
154 (if (integerp (read val))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
155 (setq tdepth (min (read val) hlevels))))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
156 (t
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
157 (setq val
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
158 (cond
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
159 ((or (eq val t) (equal val "t")) "1")
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
160 ((or (eq val nil) (equal val "nil")) "0")
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
161 ((stringp val) val)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
162 (t (format "%s" val))))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
163 (push (cons var val) s))))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
164
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
165 ;; Now we set the depth of the *generated* TOC to SDEPTH, because the
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
166 ;; toc will actually determine the splitting. How much of the toc will
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
167 ;; actually be displayed is governed by the TDEPTH option.
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
168 (setq exp-plist (plist-put exp-plist :table-of-contents sdepth))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
169
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
170 ;; The table of contents should ot show more sections then we generate
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
171 (setq tdepth (min tdepth sdepth))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
172 (push (cons "TOC_DEPTH" tdepth) s)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
173
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
174 (setq s (mapconcat
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
175 (lambda (x) (format "org_html_manager.set(\"%s\", \"%s\");"
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
176 (car x) (cdr x)))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
177 s "\n"))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
178 (when (and s (> (length s) 0))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
179 (and (string-match "%MANAGER_OPTIONS" template)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
180 (setq s (replace-match s t t template))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
181 (setq exp-plist
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
182 (plist-put
97027
adc2dffbdfc3 2008-07-25 Carsten Dominik <dominik@science.uva.nl>
Carsten Dominik <dominik@science.uva.nl>
parents: 96975
diff changeset
183 exp-plist :style-extra
adc2dffbdfc3 2008-07-25 Carsten Dominik <dominik@science.uva.nl>
Carsten Dominik <dominik@science.uva.nl>
parents: 96975
diff changeset
184 (concat (or (plist-get exp-plist :style-extra) "") "\n" s)))))
94750
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
185 ;; This script absolutely needs the table of contents, to we change that
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
186 ;; setting
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
187 (if (not (plist-get exp-plist :table-of-contents))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
188 (setq exp-plist (plist-put exp-plist :table-of-contents t)))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
189 ;; Return the modified property list
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
190 exp-plist)))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
191
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
192 (defun org-infojs-options-inbuffer-template ()
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
193 (format "#+INFOJS_OPT: view:%s toc:%s ltoc:%s mouse:%s buttons:%s path:%s"
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
194 (if (eq t org-export-html-use-infojs) (cdr (assoc 'view org-infojs-options)) nil)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
195 (let ((a (cdr (assoc 'toc org-infojs-options))))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
196 (cond ((memq a '(nil t)) a)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
197 (t (plist-get (org-infile-export-plist) :table-of-contents))))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
198 (if (equal (cdr (assoc 'ltoc org-infojs-options)) "1") t nil)
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
199 (cdr (assoc 'mouse org-infojs-options))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
200 (cdr (assoc 'buttons org-infojs-options))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
201 (cdr (assoc 'path org-infojs-options))))
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
202
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
203 (provide 'org-infojs)
96044
c1ef445563bb 2008-06-17 Carsten Dominik <dominik@science.uva.nl>
Carsten Dominik <dominik@science.uva.nl>
parents: 94757
diff changeset
204 (provide 'org-jsinfo)
94750
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
205
61756b574ffd Renamed org-infojs.el to org-jsinfo.el.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
206 ;; arch-tag: c71d1d85-3337-4817-a066-725e74ac9eac
96044
c1ef445563bb 2008-06-17 Carsten Dominik <dominik@science.uva.nl>
Carsten Dominik <dominik@science.uva.nl>
parents: 94757
diff changeset
207
94757
427077740277 Change file name on the last line.
Eli Zaretskii <eliz@gnu.org>
parents: 94750
diff changeset
208 ;;; org-jsinfo.el ends here