README
author Mahlon E. Smith <mahlon@martini.nu>
Fri, 24 Jul 2009 07:39:57 -0700
changeset 0 868dae1581ff
child 1 1ae1a79094fa
permissions -rw-r--r--
Initial commit and migration to Mercurial.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     1
---------------------------------------------------------------------
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     2
                                                       WHAT IS THIS?
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     3
---------------------------------------------------------------------
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     4
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     5
Vimoutliner already comes with some otl to HTML converters that work
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     6
quite well.  I maintain a few different otl files, that are displayed
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     7
on a internal intranet - the step of converting to HTML on every little
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     8
change before upload was becoming mildly irritating, and countering my
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     9
near legendary laziness.
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    10
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    11
This mod_perl handler teaches apache how to pretty print otl natively.
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    12
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    13
Now, I can just edit the otl files directly - skip the conversion step
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    14
altogether, and let Apache make some delicious looking outlines.
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    15
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    16
---------------------------------------------------------------------
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    17
                                                        INSTALLATION
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    18
---------------------------------------------------------------------
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    19
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    20
First off all, make sure you have a mod_perl enabled Apache2.
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    21
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    22
1) Add the following lines in your httpd.conf, or in a
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    23
   separate otl.conf in the apache Includes directory:
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    24
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    25
    -------------------------
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    26
    PerlSwitches -I/path/to/perl/libraries
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    27
    PerlModule Apache::OTL
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    28
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    29
    <FilesMatch ".*\.otl">
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    30
        SetHandler perl-script
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    31
        PerlResponseHandler Apache::OTL
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    32
    </FilesMatch>
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    33
    -------------------------
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    34
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    35
2) Put the included css at /otl_style.css in your document root.
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    36
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    37
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    38
That's it!  Apache will now pretty-print all your otl files.
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    39
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    40
---------------------------------------------------------------------
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    41
                                                            SETTINGS
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    42
---------------------------------------------------------------------
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    43
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    44
Settings for the otl_handler are stored on the first line of the otl
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    45
files themselves, prefixed by a colon.  See the sample.otl for an
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    46
example settings line.  All settings are entirely optional.
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    47
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    48
title
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    49
    Type: string
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    50
    Default: filename
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    51
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    52
    The title of the OTL.  Used as a header, and the html title.
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    53
    If this is not set, the html title is derived from the filename.
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    54
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    55
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    56
style
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    57
    Type: string
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    58
    Default: /otl_style.css
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    59
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    60
    A path to the css style.
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    61
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    62
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    63
js
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    64
    Type: string
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    65
    Default: none
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    66
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    67
    Use javascript?  If set, loads an external javascript library,
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    68
    and calls init_page() on body load.
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    69
    See the example 'folding' javascript included.
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    70
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    71
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    72
divs
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    73
    Type: boolean
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    74
    Default: 0
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    75
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    76
    Wrap each outline group in a div class called "group"
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    77
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    78
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    79
dividers
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    80
    Type: boolean
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    81
    Default: 0
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    82
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    83
    Separate each outline group with a horizontal rule?
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    84
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    85
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    86
legend
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    87
    Type: boolean
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    88
    Default: 0
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    89
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    90
    Display small legend for todo and done items?
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    91
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    92
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    93
sort
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    94
    Type: boolean
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    95
    Default: 0
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    96
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    97
    Show sort links?
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    98
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    99
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   100
sorttype
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   101
    Type: string
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   102
    Default: none
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   103
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   104
    Default sorting method.  Valid values are
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   105
        percent
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   106
        alpha
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   107
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   108
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   109
sortrev
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   110
    Type: boolean
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   111
    Default: 0
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   112
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   113
    Should we default to reverse sorting?
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   114
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   115
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   116
counts
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   117
    Type: boolean
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   118
    Default: 0
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   119
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   120
    Count and display sub items?
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   121
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   122
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   123
timer
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   124
    Type: boolean
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   125
    Default: 0
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   126
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   127
    Display how long the parser took to generate the html?
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   128
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   129
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   130
---------------------------------------------------------------------
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   131
                                                      INCLUDED FILES
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   132
---------------------------------------------------------------------
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   133
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   134
otl_handler.pl
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   135
    The mod_perl code itself.
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   136
    Feel free to modify to taste.
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   137
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   138
themes/*
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   139
    Example css.  Again, modify to taste!
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   140
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   141
otl.js
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   142
    Example (but functional!) javascript.  If you use this
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   143
    file, your top level items will be 'clickable' - expanding
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   144
    the sub items underneath, but not initially showing them.
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   145
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   146
sample.otl
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   147
    An example vimoutliner file, with optional settings.
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   148
868dae1581ff Initial commit and migration to Mercurial.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
   149