Source

Outliner / help.html

Full commit
<html>
<head>
<title>Help</title>
<link rel="stylesheet" href="outliner.css" type="text/css"/>
</head>
<body>
<div class="outliner">
<h3>About</h3>
<p>
This is a very simple pure JavaScript outliner.
It is only tested with <a href="http://www.mozilla.com/firefox/">Mozilla
Firefox 3.6+</a> and <a href="http://www.google.com/chrome">Google Chrome 10</a>,
both only under Linux.
</p>

<p>
Multiline copy/cut and paste only works in Chrome. It might also work
under other WebKit browsers (like <a href="http://www.apple.com/safari/">Apple
Safari</a>), but I haven't tested it and thus not enabled it for browsers other
than Chrome.
</p>

<h3>Requirements</h3>
<p>
A recent browser. <a
href="http://windows.microsoft.com/en-us/internet-explorer/products/ie/home">Microsoft
Internet Explorer 8 or 9</a> might work when using things like <a
href="https://github.com/eligrey/classList.js">classList.js</a>, but I doubt it.
</p>

<h3>Navigation</h3>
<table>
<tbody>
<tr><td>Up</td>       <td>move to previous line</td></tr>
<tr><td>Down</td>     <td>move to next line</td></tr>
<tr><td>Ctrl+Up</td>  <td>move to previous line on same level</td></tr>
<tr><td>Ctrl+Down</td><td>move to next line on same level</td></tr>
<tr><td>Home</td>     <td>move to begin of line</td></tr>
<tr><td>Ctrl+Home</td><td>move to begin of document</td></tr>
<tr><td>End</td>      <td>move to end of line</td></tr>
<tr><td>Ctrl+End</td> <td>move to end of document</td></tr>
</tbody>
</table>

<h3>Commands</h3>
<table>
<tbody>
<tr><td>Tab</td>        <td>indent</td></tr>
<tr><td>Shift+Tab</td>  <td>outdent</td></tr>
<tr><td>Enter</td>      <td>split line on current caret position</td></tr>
<tr><td>Shift+Enter</td><td>insert new line above current</td></tr>
<tr><td>Ctrl+Enter</td> <td>insert new indented line</td></tr>
<tr><td>Alt+Enter</td>  <td>insert new line below current</td></tr>
<tr><td>Ctrl+Space</td> <td>expand/collapse nested lines</td></tr>
<tr><td>Alt+R</td>      <td>sort lines of current nesting level</td></tr>
<tr><td>Alt+Shift+R</td><td>reverse sort lines of current nesting level</td></tr>
<tr><td>Alt+U</td>      <td>numeric sort lines of current nesting level</td></tr>
<tr><td>Alt+Shift+U</td><td>reverse numeric sort lines of current nesting level</td></tr>
<tr><td>Backspace</td>  <td>delete character/merge lines</td></tr>
<tr><td>Del</td>        <td>delete character/merge lines</td></tr>
<tr><td>Ctrl+O</td>     <td>open document from local storage</td></tr>
<tr><td>Ctrl+S</td>     <td>save document in local storage</td></tr>
<tr><td>Ctrl+Z</td>     <td>undo</td></tr>
<tr><td>Ctrl+R</td>     <td>redo</td></tr>
</tbody>
</table>

<h3>Drag and Drop</h3>
<p>
You can drag lines using the handle you also use to collapse/expand nested
lines. This way you can easily move lines and ther nested lines to another
position in the document. Holding Ctrl when starting dragging you will make
a copy of the dragged line. With Ctrl it is also possible to drag the lines
into another outliner window or even a text editor.
</p>

<p>
You can also drag multiline selections, which will make a copy of the
selected lines at the point of drop. Maybe this behaviour will change to
be like cut and paste instead of copy and paste in the future.
</p>

<p>
Besides lines from another outliner and plain text you can also drop files
and URLs into the outliner. A HTML 5 enabled browser will be able to read
the files from disk (e.g. Firefox 3.6 and Chrome 6 or newer). Due to
security restrictiony in browsers dropped URLs may be only from the same
domain form which the outliner itself is hosted.
</p>

<h3>Save and Open</h3>
<p>
Documents are stored in the browsers local storage and not as seperate
files. This is a HMTL 5 feature and only supported by somewhat recent
browsers.
</p>

<p>
<strong>Note:</strong> Some browsers (like Firefox) do not persist the local storage for the
file:// protocol. Use the export feature to persit documents in such browsers.
</p>

<h3>Import and Export</h3>
<p>
Exporting works through on the fly generated data URLs (URLs where the whole
file is embedded encoded in base 64) with the mime type application/octet-stream
so the browser opens a Save As dialog. There is no way to suggest a file name
using data URLs so you have to come up with a meaningful name yourself.
</p>

<p>
As with dropping files also importing files through a file dialogue is supported
using the HTML 5 File API. Here it is Chrome that does not support this feature
when the outliner is accessed through a file:// URL.
</p>

<p>
Supported formats are:
</p>
<table>
<tbody>
<tr><td>JSON</td>      <td>a custom JSON based file format</td></tr>
<tr><td>OPML</td>      <td>OPML only supporting the text attribute</td></tr>
<tr><td>Jree</td>      <td>Jreepad files</td></tr>
<tr><td>Plain Text</td><td>UTF-8 plain text where lines are indented using the tab character</td></tr>
</tbody>
</table>

<h3>Limitations</h3>
<p>
Currently there is no support for columns, formatted text, data type limitation
on lines or formulars. Maybe I will implement this some day. Very likely not.
</p>
</div>
</body>
</html>