1 #+STARTUP: align fold nodlcheck hidestars oddeven lognotestate
2 #+TITLE: EMACS ORG-INFO.JS
3 #+AUTHOR: Sebastian Rose
7 #+INFOJS_OPT: path:org-info.js
8 #+INFOJS_OPT: toc:nil ltoc:above view:info mouse:underline buttons:nil
9 #+INFOJS_OPT: up:http://orgmode.org/worg/
10 #+INFOJS_OPT: home:http://orgmode.org
11 #+STYLE: <link rel="stylesheet" type="text/css" href="stylesheet.css" />
13 * The Name of the Game
15 org-info-js (subsequently called /the script/) implements part of Emacs Org-mode
16 in it's XHTML-exported files, allowing them to be rendered and browsed in a
17 linuxdoc/texinfo style.
19 This documentation is one XHTML file, exported from one *.org file using a
20 single keyboard shortcut. No additional postprocessing was done. There are no
21 external dependencies and the script is small and fast, even for large files.
22 It is used on the [[http://orgmode.org/Changes.html][org-mode site]] to display =ORGWEBPAGE/Changes.org= which
23 consists of more than 220 sections.
25 If you don't mind using it despite the /health warnings/ we wish you good luck
26 and hope the fun will outweigh your effort.
28 There are some drawbacks though. It is currently not possible to
29 open internal links in another tab (e.g. using middle click in
30 Firefox) due my poor JavaScript knowledge. This is not very high on
31 my TODO list since the history mechanism of the script is a good
32 alternative to tab usage.
34 Go to the next section by pressing '=n='.
36 Find out about shortcuts in section [[#shortcuts][Shortcuts]] (and come back here
37 pressing '=b='). In addition, '=?=' will show all shortcuts available.
41 - A list of Changes can be found [[file:changes.org][here]] (separat file).
42 - Download the [[file:org-info.js][minified version]] or the [[file:org-info-src.js][sourc code]].
43 - Create the minified versions from the sources using the [[file:Makefile][Makefile]] and a
44 little [[file:sed.txt][sed script]].
46 Development of the script takes place on github
47 (http://github.com/SebastianRose/org-info-js/tree/master), but every working
48 release is published here on Worg synchronously. That said, you can follow
49 the development by tracking the Worg repo as well, available at
50 [[http://repo.or.cz/w/Worg.git]].
52 ** <<Terms used throughout this Document>>
54 The script knows three different so called /view modes/. One may toggle the
55 view mode by pressing '=m=' or click the /toggle view/ link the script adds to
56 your pages. Currently three view modes exist:
59 This mode displays the sections one by one, paged like the typical
60 linuxdoc or texinfo files. This is the view mode you should face when
61 first visiting this documentation.
63 + *plain view mode* ::
64 This mode displays the entire file. In this mode the sections are foldable
65 by clicking the headlines or pressing '=f=' (fold). The entire structure
66 of the document my be (un-)folded using '=F='. You may determin what's
69 + *presentation mode* ::
70 This mode displays sections one by as slides. Still
71 very rustic and experimental. Rick Moynihan embarked and we plan a separat
72 tool for presentations, but...
74 The table of contents (*TOC*) is required, albeit it may be hidden (CSS). The TOC may
75 be visited using '=i=' (index) regardless of its visibility.
77 A *section* is everything with a headline.
84 + *Toggle plain view, info view and presentation* ::
85 One can click the script-generated links in info view mode to read through
86 the whole file page by page. By clicking on '/toggle view/' (or pressing
87 `m´) you can switch between info and plain view mode. The presentation mode
88 is very rudimentary and just a quick hack realy. Press 'x' to see it.
89 + *Keep place in file when toggling* ::
90 When changing the view mode via the '/toggle view/' links, the reader gets
91 the same part of the document presented after the view change as he saw
94 You may cut the table of contents to a certain depth. The splitting of the
95 document is not affected by this option. Hence you might set the level of
96 headlines to 4, but cut the TOC to show only the first two levels.
97 + *Optional subindexes* ::
98 The script optionally creates subindexes under the headline of a section
99 containing subsections not exceeding =org-export-headline-levels=. This
100 was done to get a more texinfo/linuxdoc kind of feel and a better
102 + *Startupview customizable* ::
103 Choose how to display the document on load. Info-like or plain and more.
104 + *Toggle links everywhere / only on top* ::
105 You may choose to display the '/toggle view/' links above every headline
106 or just next the current sections headline.
107 + *Numbered pages* ::
108 In info view mode every page gets a page number starting from one.
109 + *Markright alike headings* ::
110 Info view mode only. Similar to the =\markright= command in LaTeX
111 the Title of the current sections parent appears on top of each page. In
112 subsections this heading can be use as link up to start of the parent
113 section (see top of this page when you're in info view mode). You can move
114 to the parent section by pressing `u´ (up).
116 Moving the mouse on the navigation links shows a tooltip with name of
117 next/previous section.
119 The TOC can be hidden completly. Hitting '=i=' still will show it. When
120 showing the TOC hitting '=i=' any navigation command ('=n=', '=p=',
121 '=s='...) will trigger an history-back. Thus the TOC will not get in your
122 way when navigating the history later on.
124 ** Keyboard navigation
126 + *Easy keyboard navigation* ::
127 See Section [[#shortcuts][Shortcuts]] for a list of shortcuts.
128 + Navigation history ::
129 Navigating a file through the keyboard shortcuts is recorded in an internal
130 history. You may go back and forth in this history. Once an end is reached,
131 org-info.js tries to go back/forth in the browsers history. If you move
132 back to a previous visited file that uses the script, you will return to
133 the place you left the file. Thus following links in published files feels
134 like following footnotes.
135 + *Customizable features* ::
136 All features are customizable simply by setting up your export options
137 template (see [[#setup][Setup]]).
139 Emulates the way of folding in emacs Org-mode. Mouse supported.
143 + *Full text-search with highlighting* :: Search forward, backwards, repeated
144 search... (experimental). Simple regular expressions are supported. Try to
145 search for =a[e-h].*n= for example. All searches are case
146 insensitive. Grouping is not supported. We couldn't search for round
147 brackets otherwise. Supported are wildcards (e.g. =.*=) and ranges
148 (e.g. =[a-g]=). Sometimes only one match is found between to HTML tags. The
149 longer the expression, the better the matches.
151 As experimental as the text-search, but I love this one. You may link to a
152 file using this script like this: =index.html?OCCUR=java=. Use regular
153 expressions likewise.
155 '=C=' shows a table of contents based on tags. Inherited tags are not
156 supported yet. This was an [[http://lists.gnu.org/archive/html/emacs-orgmode/2008-07/msg00434.html][idea of Rick Moynihan]].
161 The exported pages can be linked to the homepage and an directory index or
162 some other sort of parent file.
163 + *Adjusted internal links* ::
164 Internal links to section headings are automatically adjusted to work with
165 this script. When following such internal links, one may go back again
167 + *Detect the target in the URL* ::
168 If the URL is suffixed by '=#sec-x.y.z=' that section will be displayed
170 + *Structure is taken from export preferences* ::
171 The paging is done according to your setting of
172 =org-export-headline-levels=. Scanning the TOC is a good way to get
173 around browser detection. An option to hide the TOC exists.
174 + *Startup information* ::
175 Show a little message on page load to tell the visitor about the script
177 + *Wrap text before first headline* :: This is a temporary fix for the missing
178 =<p>= element around the text before the first headline, available since
179 version 0.0.7.3a (fixed in current Org-mode versions). If you export with
180 =skip:nil=, you may add this to your stylesheet:
181 : #text-before-first-headline {color:red;font-weight:bold;}
186 :CUSTOM_ID: shortcuts
189 The visitor of this file (and every XHTML-exported org file that includes the
190 script) may use the mouse or the following keys to navigate. '=?=' should give
191 you a list of shortcuts.
193 The script always tries to keep the last selected section visible. This is
194 somewhat strange when scrolling, but really helpfull for keyboard navigation.
196 The TOC is handled specially, when hidden. If you press '=i=', the TOC is
197 displayed. Any subsequent key press goes back to where you've been before. The
198 TOC does not show up the history. Same applies to the keyboard help.
201 |-----------+---------------------------------------------------------|
202 | ? / ¿ | show this help screen |
203 |-----------+---------------------------------------------------------|
204 | | *Moving around* |
205 | n / p | goto the next / previous section |
206 | N / P | goto the next / previous sibling |
207 | t / E | goto the first / last section |
208 | g | goto section... |
209 | u | go one level up (parent section) |
210 | i / C | show table of contents / tags index |
211 | b / B | go back to last / forward to next visited section. |
212 | h / H | go to main index in this directory / link HOME page |
213 |-----------+---------------------------------------------------------|
215 | m / x | toggle the view mode between info and plain / slides |
216 | f / F | fold current section / whole document (plain view only) |
217 |-----------+---------------------------------------------------------|
219 | s / r | search forward / backward.... |
220 | S / R | search again forward / backward |
222 | c | clear search-highlight |
223 |-----------+---------------------------------------------------------|
225 | l / L / U | display HTML link / Org link / Plain-URL |
226 | v / V | scroll down / up |
228 Thanks Carsten, for this beautifull table!
235 This section describes how to setup your org files to use the
236 script. [[#the-new-way][Export-Setup - the new Way]] covers setting up org XHTML
237 export with Org-mode version >= 6.02. For those using an older
238 Org-mode version < 6.02 the next section ([[the-old-way][Export-Setup - the old Way]])
239 remains. [[#using-set][Using Set()]] contains a list of all supported options for adjusting
240 the =org\_html\_manager= to suit your needs.
242 See the Download section on how to obtain a version of the script.
244 The first version of this document was created with the new XHTML exporter
245 which was revised by Carsten Dominik in March 2008 (in Org-mode v5.23a+) to
246 better support =XML=. You can use =M-x org-version= to see which version of
247 Org-mode you have installed.
249 ** Export-Setup - the new Way
251 :CUSTOM_ID: the-new-way
254 The modern way of org export setup provides extra options to include and
255 configure the script, as well as an emacs customize interface for this very
256 purpose. Options set in customize may be overwritten on a per-file basis
257 using one or more special =#+INFOJS_OPT:= lines in the head of your org file.
259 As an example, the head of this org file looks like:
262 ,#+INFOJS_OPT: path:org-info.js
263 ,#+INFOJS_OPT: toc:nil localtoc:t view:info mouse:underline buttons:nil
264 ,#+INFOJS_OPT: up:http://orgmode.org/worg/
265 ,#+INFOJS_OPT: home:http://orgmode.org
270 To use customize type
271 : M-x customize-group RET org-export-html RET
272 scroll to the bottom and click =Org Export HTML INFOJS=.
274 On this page three main options may be configured. /Org Export Html Use
275 Infojs/ is very good documented and /Org Infojs Template/ should be
276 perfect by default. So I'll concentrate on /Org Infojs Options/ here.
279 Absolute or relative URL to the script as used in in XHTML
280 links. '=org-info.js=' will find the file in the current
281 directory. Keep in mind that this will be the directory of the
282 exported file, eventually a directory on a server.
285 What kind of view mode should the script enter on startup? Possible
287 + =info= --- info view mode,
288 + =overview= --- plain view mode, only first level headlines visible,
289 + =content= --- plain view mode, all headlines visible,
290 + =showall= --- plain view mode showing the entire document.
293 Show the table of contents? \\
295 + =t= --- show the toc,
296 + =nil= --- hide the toc (only show when '=i=' is pressed),
297 + =Publishing/Export property= --- derivate this setting from another
298 property like =org-export-with-toc=.
301 Should the script insert a local table of contents below the headings
302 of sections containing subsections? The default is no.\\
304 + =t= --- show the local toc below the first text in a section,
305 + =nil= --- hide the toc (only show when '=i=' is pressed). This is
306 the default, if this option is omitted.
307 + =above= --- sho the toc directly under the sections heading.
310 Highlight the headline under the mouse in plain view mode?
311 + =underline= --- underline the headline under mouse,
312 + =#dddddd= --- or any valid XHTML/CSS color value like =red= to draw a
313 colored background for the headline under the mouse.
317 Number of attempts to scan the document. It's no risk to set this to a
318 higher value than the default. The =org_html_manager= will stop as
319 soon as the entire document is scanned.
322 Affects plain view mode only. If '=t=', display the little
323 /Up|HOME|HELP|Toggle view/ links next to _each_ headline in plain view
326 *** Per File Basis: #+INFOJS\_OPT
328 A single file may overwrite the global options using a line like this:
331 ,#+INFOJS_OPT: view:info mouse:underline up:index.html home:http://www.mydomain.tpl toc:t
334 Possible options are the same as in the previous section. Additional (?)
338 An URL to link to the homepage. The text displayed is =HOME=.
340 An URL pointing to some main page. The text displayed is =Up=.
342 ** Export-Setup - the old Way
344 :CUSTOM_ID: the-old-way
347 This section describes the old way to setup the script using the
348 =org-export-html-style= configuration. If you own a current version (6.00
349 ++) of Org-mode you should better use [[#the-new-way][Export-Setup - the new Way]] of setting
350 up the export for script usage. You might want to read the sections [[#xhtml][The XHTML]]
351 for more information. [[#using-set][Using Set()]] contains a list of all supported options
352 recognised by the script.
354 *** Using a special * COMMENT Section
356 The second possibility to include the script is to add a special section
357 to the end of your org file (multiple lines possible):
360 ,* COMMENT html style specifications
362 ,# org-export-html-style: "<link rel=\"stylesheet\"
363 ,# type=\"text/css\" href=\"styles.css\" />
364 ,# <script type=\"text/javascript\" src=\"org-info.js\">
366 ,# <script type=\"text/javascript\">
368 ,# org_html_manager.set(\"LOCAL_TOC\", 1);
369 ,# org_html_manager.set(\"VIEW_BUTTONS\", \"true\");
370 ,# org_html_manager.set(\"MOUSE_HINT\", \"underline\");
371 ,# org_html_manager.setup ();
377 Ensure to precede all the verbatim double quotes with a backslash and
378 include the whole value of =org-export-html-style= into double quotes
383 One could customize the option '=org-export-html-style=' globaly by
384 :M-x cuomize-variable RET org-export-html-style RET
388 <script type="text/javascript" src="org-info.js"></script>
389 <script type="text/javascript">
391 org_html_manager.set("LOCAL_TOC", 1);
392 org_html_manager.set("VIEW_BUTTONS", "true");
393 org_html_manager.set("MOUSE_HINT", "underline");
394 org_html_manager.setup ();
399 This way all your files will be exported using the script in the
400 future. If you publish entire directories, supply an absolute URI to the
401 =src= attribute of the first script tag above.
403 *** Export-Setup per Project
405 Last but not least and very handy is the possibility to setup the usage of
406 the script per project. This is a taylor made passage of the org manual:
408 #+BEGIN_SRC emacs-lisp
409 (setq org-publish-project-alist
411 :base-directory "~/org/"
412 :publishing-directory "~/public_html"
414 :table-of-contents nil
415 :style "<link rel=stylesheet href=\"../other/mystyle.css\"
417 <script type=\"text/javascript\" src=\"org-info.js\"></script>
418 <script type=\"text/javascript\">
420 org_html_manager.setup ();
425 Don't forget to add an export target for the script itself ;-)
427 * <<Linking to Files using the Script>>
429 Just use the ordinary link syntax to link to files that use the script. Append
430 the section to the URL if neccessary:
432 : http://www.domain.tld/path/to/org.html#sec-3.4
434 One may overwrite the author's settings using special suffixes appended to the
435 URL of the script. Here are some examples linking to this section and changing
436 the intial view mode. Currently only the '/internal/' options are used (see
437 [[#using-set][Using set()]] for a list).
442 <a href="index.html?TOC=1&VIEW=info#sec-5"><code>index.html?TOC=1&VIEW=info#sec-5</code></a>
445 <a href="index.html?TOC=0&VIEW=overview#sec-5"><code>index.html?TOC=0&VIEW=overview#sec-5</code></a>
448 <a href="index.html?VIEW=content&TOC_DEPTH=1#sec-5"><code>index.html?VIEW=content&TOC_DEPTH=1#sec-5</code></a>
451 <a href="index.html?VIEW=showall&MOUSE_HINT=rgb(255,133,0)#sec-5"><code>index.html?VIEW=showall&MOUSE_HINT=rgb(255,133,0)#sec-5</code></a>
454 <a href="index.html?OCCUR=java"><code><b>index.html?OCCUR=java</b></code></a>
459 *Note* that it is not possible to change the '/HOME/' and '/Up/' links.
461 *Note* also that everything but =[0-9a-zA-Z\.-_]= should be URL encoded if used
466 Here is an excerpt from the stylesheet for this file. Be carful not to mess
467 things up when trying to position the console.
470 /* Styles for org-info.js */
472 .org-info-js_info-navigation
481 background-color:#ffffff;
484 #org-info-js_console-input
486 background-color:#ffffff;
490 vertical-align:middle;
493 #org-info-js_console-label
498 font-family:Verdana,Arial,sans-serif;
499 vertical-align:middle;
502 .org-info-js_console-label-warning
507 #org-info-js_console-container
509 border:1px solid #cccccc;
512 .org-info-js_search-highlight
514 background-color:#adefef; /* emacs default */
518 /* END STYLES FOR org-info.js */
522 * <<Supported Browsers>>
524 The functionality of the script is based on =DOM=. This leads to some
525 incompatibility with legacy browsers. But hey, it's 2009, isn't it?
527 So what browsers are supported then? Well - I don't know for
528 sure. JavaScript™ 1.4 plus =DOM= should make
529 + Netscape 6.0 and higher
530 + Internet Explorer 5.0 and up
531 + Firefox 1.0 ++ - 2.0.0.12 and 3.0 Beta tested
532 + Opera 7.0 and higher - v.9.26 tested.
535 I try to test the script before each release in Firefox 3.x.x and Opera 10 on
536 Linux, and in FF 3, IE 6 and Safari on windows. Because of the number of
537 features and browsers, some bugs might remain undiscovered. Please report bugs
538 to the emacs-orgmode mailing list. In most cases we manage to fix them within
541 ** <<People reported it works in>>
543 So let's gather the tested Browsers here. Problems are only listed, if they
544 are Browser specific. Let me say it again: we don't wont to support legacy
547 | Browser | Version |
548 |-------------------+------------|
550 | Firefox/Iceweasel | 2.0.0.12 |
551 | Firefox/Iceweasel | 3.0.2 Beta |
555 If you manage to get this thingy working in any browser please let us know, so
556 we can update the above table.
558 * <<Why Do I Need a T.O.C?>>
560 Currently the script depends on the table of contents in the resulting
561 XHTML. The TOC can be hidden though.
563 The main reason is the behaviour of browsers. There is no safe way to detect
564 if the entire document is loaded at a certain point in time. Opera for example
565 returns =true= if we ask it =if(document.body)=. The =init()= function of the
566 =OrgHtmlManager= is aware of the possibility, that not even the TOC might
567 be loaded when this function is called. Hence it should work for slow
575 End users may consider this section obsolete as of org version 6.00-pre-3,
576 since there is a new configuration interface in org now to setup the script
577 without dealing with JavaScript. It is still here to show the desired look
578 of the head section of the XHTML. Also someone might be interested to use the
579 script for XHTML files not exported from org.
581 The script has to be included in the header of the resulting XHTML files. The
582 document structure has to be exactly the one produced by the current XHTML
583 export of emacs Org-mode.
584 You may pass options to the =org\_html\_manager= by utilising its =set()=
585 method. For a list of options see section [[#using-set][Using Set()]]. This is what the
586 head section should look like:
589 <script type="text/javascript" src="org-info.js"></script>
590 <script type="text/javascript">
592 org_html_manager.set("LOCAL_TOC", 1);
593 org_html_manager.set("TOC", 1);
594 org_html_manager.set("VIEW_BUTTONS", "1");
595 org_html_manager.set("MOUSE_HINT", "underline"); // or background-color like '#eeeeee'
596 org_html_manager.setup ();
601 To just use the script with the defaults put this into the head section of the
605 <script type="text/javascript" src="org-info.js"></script>
606 <script type="text/javascript">
608 org_html_manager.setup ();
613 I recommend the use of
616 <script type="text/javascript" src="org-info.js"></script>
622 <script type="text/javascript" src="org-info.js" />
625 which is valid XHTML but not understood by all browsers. I'll use the first
626 version throughout this document where ever the space allows to do so.
630 :CUSTOM_ID: using-set
634 : org_html_manager.setup ();
635 one may configure the script by using the =org\_html\_manager='s function
636 =set(key, val)=. There is one important rule for all of these options. If
637 you set a string value containing single quotes, do it this way:
638 : org_html_manager.set("key", "value with \\'single quotes\\'");
640 + =VIEW= :: Set to a true value to start in textinfo kind of view. Note: you
641 could also use =org\_html\_manager.INFO\_VIEW=,
642 =org\_html\_manager.PRESENTATION\_VIEW= or
643 =org\_html\_manager.PLAIN\_VIEW=. Defaults to plain view mode.
645 If =1=, hide the table of contents.
647 If set to a =true= (=1= or not empty string) value, create subindexes
648 for sections containing subsections. See sections 1 2, or 3.1 of this
649 document. The index below the headline (under 'Contents:') is generated
650 by the script. This one is off by default.
652 If =true=, include the small '/toggle view/' link above every headline in
653 plain view too. The visitor can toggle the view every where in the file
654 then. If =false=, only at the top of the file such a link is displayed
655 when in plain view. Default is =false=.
657 Highlight the heading under the mouse. This can be a background color
658 (like '=#ff0000=', '=red=' or '=rgb(230,230,230)=') or the keyword
661 May be set, to link to an other file, preferably the main index page of a
662 subdirectory. You might consider using an absolute URL here. This link will be
664 : <a href="LINK_UP">Up</a>
665 This way we can link files into a tree, if all subdirectories in the
666 project follow the same conventions. The '=h=' shortcut will
667 bring you there as well.
669 May be set, to link to an other file, preferably the main home page. This
670 link will be displayed as
671 : <a href="LINK_HOME">Up</a>
672 The '=H=' shortcut will trigger this action.
674 Cut the TOC at a certain level. This was done to support big big
675 files and was requested by Carsten Dominik. If '=0=' or not provided at
676 all the TOC will not be cut. If set to a number greater than '=0=',
677 the TOC will cut to only show headlines down to that very level.
679 Display a little message on page load? Defaults to no message. Set to =1=
680 to display the startup message.
684 First of all the script is included in the header as described in [[#setup][Setup]]. The
685 document has to be exported with TOC since the script depends on it (See
686 [[Why Do I Need a T.O.C?]]).
688 When included, it creates a global JavaScript™ variable named
689 =org\_html\_manager=.
691 The =org\_html\_manager::setup()= function, that you will have to call
692 yourself (see examples in [[#setup][Setup]]), sets up a timeout function calling it's
693 =init()= function after 50ms. After those 50 ms The =init()= function starts
694 it's first attempt to scan the document, using the TOC as a guide. During
695 this scan the =org\_html\_manager= builds a tree of nodes, each caching some
696 data for later use. Once an element of the document is scanned it is marked by
697 setting a property =scanned\_for\_org= to =1=. This way it will not be scanned
698 a second time in subsquent runs (it will be checked though, but no work will
701 If the document (or the TOC) is not entirely loaded, =org\_html\_manager=
702 stops scanning, sets the timeout again to start an other scan 50 ms
703 later. Once the entire document is loaded and scanned no new timeout will be
704 set, and the document is displayed in the desired way (hopefully).
706 Once the number of attempts to scan the the document was configurable. This
707 was dropped, since we can not know in advance how fast the document will be
708 loaded on the client side.
710 The =org\_html\_manager= also changes the document a bit to make it react on
711 certain input events and follow your wishes. The old '/event handling/' was
712 entirely based on the normal link functions using so called =accesskeys=. This
713 has changed long ago, but the accesskeys will stay cause there is no reason to
716 * Presentations with org-info.js
718 The script can handle all the sections as single slides. Press '=x=' to switch
719 to the presentation mode. In this mode you may navigate the sections using the
720 mouse. Currently a single click moves forward and a doubleclick backwards
721 (will change this to right mouse button for backwards movement).
723 The first plain list (i.e. an <ul> element) in a section is special. The items
724 will be shown one by one when moving forward.
726 If you're at the end of the presentation, a click does not trigger a
727 warning. Same applies to a doubleclick when in the first section.
729 There is no plan to extend this feature very much. A better plan might be to
730 write a separate tool to handle slides.
734 The aim of this little script was to implement a part of emacs Org-mode
735 facilities of folding. Oh, no - not originaly.
737 My first idea was to view some of my larger org files without scrolling. I
738 wanted to have them paged just like texinfo or linuxdoc files. In February
739 2008 I came across Carsten Dominiks /ideas/ page
740 [[http://orgmode.org/todo.html]]. And I could not resist to write him some of my
741 thoughts about this great emacs mode including some little ideas and
742 drawbacks. I don't know how, but it somehow these guys made me, lazy bone that
743 I am, write this little script as an apetizer of /web 3.0 in Org-mode/ (Phil
746 I did and since some people really liked it, worked a bit more on it and added
747 features. Bastien Guerry was so kind to publish it on
748 http://www.legito.net/org-info-js/ the first months. Thanks Bastien.
750 In the first days of April Carsten Dominik added code to Org-mode to support
751 the usage of this script. Hence the script may now be configured in a similar way
752 to the other export options. Since then it is even possible to configure this
753 script through customize.
757 Very special thanks to Carsten Dominik, Bastien Guerry and Phil Jackson who
758 have encouraged me to write and publish this little piece of (unfinished) work
759 and all the hundrets of hours they spent on this fantastic emacs mode called
760 Org-mode and the export modules.
762 Org is a new working experience for me and there is nothing comparable to
763 working with emacs AND Org-mode.
765 An other big kiss to Gabi ([[http://www.emma-stil.de][www.emma-stil.de]]) for being so patient while I was
766 not working on our projects but playing with emacs.
768 Thanks to Tobias Prinz for listening to my stupid JavaScript questions and all
769 the usefull tips. Espacially the negative margin trick and key input.
771 And again big thanks to Carsten Dominik for making the inclusion and
772 configuration of the script so easy for the users, all the inspired ideas and
773 the great org radio table trick. A lot of the power of the final make up is
774 your merit! We all love to read the Org-mode mailing lists because of the
775 kind and relaxed tone that is yours.
777 Thanks a lot for OrgMode!
781 What I think about licenses? Well - I think licences and patents are not far
782 from each other. Poor people (and poor countries!!!) stay poor because of both
783 of them. But since I know where I live, in a world made of licenses and
784 patents, I have to apply some license to my work to protect it and stay
787 Hence the script was originally licensed under [[http://www.gnu.org/licenses/old-licenses/gpl-2.0.html][GPL 2]]. Since v.0.1.1.6 the
788 license was changed to [[http://www.gnu.org/licenses/gpl-3.0.html][GPL version 3]]. This document is subject to [[http://www.fsf.org/licensing/licenses/fdl.txt][GFDL]].
792 The original version of this document was written in emacs23 with Org-mode
793 v. 5.22a+. The visibilty of the contents of a individual section or
794 subsection can be toggled by clicking the stars in front of the headlines or
795 moving there and hitting =TAB=. The visibility of the entire document structure
796 can be changed by pressing =SHIFT+TAB= anywhere. When on a headline, pressing
797 =ALT+UP/DOWN= moves the entire subtree to different location in the tree,
798 keeping it's level of indentation. =ALT+LEFT/RIGHT= promotes and demotes the
801 [[file:img/emacs23-org.js.org.png]]