commit 704f7e12a882b16845579f32f96de2f6b64db3a6
tree 612f10e16e1e41f6108066f0b12eceb21906898a
parent bab83e805a56804433db6b35530b8af2f56c4171
tree 612f10e16e1e41f6108066f0b12eceb21906898a
parent bab83e805a56804433db6b35530b8af2f56c4171
november / README
| b2e500ba » | Carl Masak | 2008-08-15 | 1 | November | |
| 2 | ======== | ||||
| 77521f2b » | viklund | 2008-08-15 | 3 | ||
| 546979d1 » | masak | 2009-02-15 | 4 | November is Copyright (C) 2008-2009, the November contributors (as listed in | |
| 5 | AUTHORS). | ||||
| 77521f2b » | viklund | 2008-08-15 | 6 | ||
| 7 | LICENSE INFORMATION | ||||
| 8 | ------------------- | ||||
| 9 | |||||
| 7d7f3001 » | Carl Masak | 2008-08-15 | 10 | November is free software; you can redistribute it and/or modify it under the | |
| 11 | terms of the Artistic License 2.0. (Note that, unlike the Artistic License | ||||
| 12 | 1.0, version 2.0 is GPL compatible by itself, hence there is no benefit to | ||||
| 13 | having an Artistic 2.0 / GPL disjunction.) | ||||
| 77521f2b » | viklund | 2008-08-15 | 14 | ||
| 7d7f3001 » | Carl Masak | 2008-08-15 | 15 | CONTRIBUTING | |
| 16 | ------------ | ||||
| 77521f2b » | viklund | 2008-08-15 | 17 | ||
| 7d7f3001 » | Carl Masak | 2008-08-15 | 18 | We'll hand out commit bits liberally. If you want to contribute, create an | |
| 19 | account on github.org and send your github handle to Johan | ||||
| 51be8d71 » | masak | 2008-09-21 | 20 | (johan.viklund@gmail.com). Patches are ok too, if you prefer those. See | |
| 21 | docs/COMMITTERS if these thoughts intrigue you. | ||||
| 77521f2b » | viklund | 2008-08-15 | 22 | ||
| 23 | PREREQUISITES | ||||
| 24 | ------------- | ||||
| 25 | |||||
| 7d460a4b » | masak | 2008-12-01 | 26 | You'll need Parrot and Rakudo. Check them out from the Parrot svn repository | |
| 27 | and follow the instructions in the checkout. Note that the latest 'stable | ||||
| 28 | release' of Parrot/Rakudo often isn't new enough, since we tend to use features | ||||
| 29 | developed after the latest release. | ||||
| 30 | |||||
| 704f7e12 » | masak | 2009-05-07 | 31 | See instructions on the Rakudo web site: | |
| 77521f2b » | viklund | 2008-08-15 | 32 | ||
| 704f7e12 » | masak | 2009-05-07 | 33 | <http://rakudo.org/how-to-get-rakudo> | |
| 77521f2b » | viklund | 2008-08-15 | 34 | ||
| 5cf6bc1e » | masak | 2009-04-06 | 35 | You'll also need the projects listed in deps.proto, presently only | |
| 36 | HTML::Template. It is preferrable to build HTML::Template before building | ||||
| 37 | November. | ||||
| 38 | |||||
| 39 | $ pwd | ||||
| 40 | /tmp | ||||
| 41 | $ git clone git://github.com/viklund/november.git | ||||
| 42 | $ git clone git://github.com/masak/html-template.git | ||||
| 43 | $ export RAKUDO_DIR=$PARROT_DIR/languages/rakudo | ||||
| 44 | $ export PERL6LIB=$RAKUDO_DIR:/tmp/november/lib:/tmp/html-template/lib | ||||
| 45 | $ cd html-template/ | ||||
| 46 | $ perl Makefile.PL | ||||
| 47 | $ make | ||||
| 48 | $ cd ../november/ | ||||
| 49 | $ perl Makefile.PL | ||||
| 50 | $ make | ||||
| 51 | |||||
| 52 | The package installer 'proto' (at <http://github.com/masak/proto>) does all of | ||||
| 53 | the above for you automatically: | ||||
| 54 | |||||
| 55 | $ ./proto install november # installs Rakudo/Parrot, November & all its deps | ||||
| 56 | |||||
| 77521f2b » | viklund | 2008-08-15 | 57 | REPOSITORY LAYOUT | |
| 58 | ----------------- | ||||
| 59 | |||||
| 9827ffc5 » | masak | 2009-02-15 | 60 | / Perl 6 wiki implementation | |
| b2e500ba » | Carl Masak | 2008-08-15 | 61 | │ | |
| 9827ffc5 » | masak | 2009-02-15 | 62 | ├─data/ File database contents for an empty wiki instance | |
| 63 | │ | ||||
| 64 | ├─skins/ Default skins for the Perl 6 implementation | ||||
| 65 | │ | ||||
| 66 | ├─t/ Tests for the Perl 6 implementation | ||||
| b2e500ba » | Carl Masak | 2008-08-15 | 67 | │ | |
| 7dc9a487 » | masak | 2008-10-25 | 68 | ├─p5w/ Perl 5 reference implementation | |
| 69 | │ | ||||
| 70 | ├─docs/ Developer documentation for both p5w and p6w | ||||
| 71 | │ | ||||
| 72 | ├─talks/ Presentations and links to videos about November | ||||
| 73 | │ | ||||
| 74 | └─logotype/ Graphics files for the November logotype | ||||
| 77521f2b » | viklund | 2008-08-15 | 75 | ||
| 7d7f3001 » | Carl Masak | 2008-08-15 | 76 | RUNNING NOVEMBER | |
| 77 | ---------------- | ||||
| 77521f2b » | viklund | 2008-08-15 | 78 | ||
| c2480acb » | viklund | 2009-03-17 | 79 | Before building November you have to set the PARROT_DIR, RAKUDO_DIR and | |
| 80 | PERL6LIB environment variables to include the lib/ subdirectory of the | ||||
| 81 | November repository. In bash, that would look like this: | ||||
| d70c5242 » | szabgab | 2009-02-17 | 82 | ||
| 3e0c51b9 » | masak | 2009-02-18 | 83 | $ export PARROT_DIR=/path/to/parrot | |
| c2480acb » | viklund | 2009-03-17 | 84 | $ export RAKUDO_DIR=/path/to/rakudo | |
| 3e0c51b9 » | masak | 2009-02-18 | 85 | $ export PERL6LIB=/path/to/repository/of/november/lib | |
| a29ef1d7 » | masak | 2009-02-18 | 86 | ||
| 3e0c51b9 » | masak | 2009-02-18 | 87 | After that, you can build as usual. | |
| d70c5242 » | szabgab | 2009-02-17 | 88 | ||
| 3e0c51b9 » | masak | 2009-02-18 | 89 | $ perl Makefile.PL | |
| 90 | $ make # not required; speeds up startup times | ||||
| 91 | $ make test # not required; requires Test::Harness v3.00 or higher | ||||
| 9756cc08 » | viklund | 2008-08-20 | 92 | ||
| 7dc9a487 » | masak | 2008-10-25 | 93 | * Running November on the command line | |
| 77521f2b » | viklund | 2008-08-15 | 94 | ||
| 95 | This will generate the Main_Page on STDOUT: | ||||
| 96 | |||||
| 97 | $ ./test_wiki.sh | ||||
| 98 | |||||
| d6babd85 » | ihrd | 2008-11-29 | 99 | To specify which page to view you need to specify the path, as follows: | |
| 77521f2b » | viklund | 2008-08-15 | 100 | ||
| 7dc9a487 » | masak | 2008-10-25 | 101 | $ ./test_wiki.sh | |
| d6babd85 » | ihrd | 2008-11-29 | 102 | $ ./test_wiki.sh /view/Another_Page | |
| 103 | $ ./test_wiki.sh /all | ||||
| 104 | $ ./test_wiki.sh /recent | ||||
| 105 | $ ./test_wiki.sh /view/Main_Page | ||||
| 77521f2b » | viklund | 2008-08-15 | 106 | ||
| d6babd85 » | ihrd | 2008-11-29 | 107 | The above first and last commands are equivalent, since 'view' is the | |
| 108 | default action, and 'Main_Page' is the default page for the 'view' action. | ||||
| 77521f2b » | viklund | 2008-08-15 | 109 | ||
| d6babd85 » | ihrd | 2008-11-29 | 110 | The other actions we have so far are 'edit', 'log_in', 'log_out'. | |
| 77521f2b » | viklund | 2008-08-15 | 111 | ||
| 7dc9a487 » | masak | 2008-10-25 | 112 | * Running November through a web server | |
| 77521f2b » | viklund | 2008-08-15 | 113 | ||
| 7dc9a487 » | masak | 2008-10-25 | 114 | We have only tested the following on the Apache web server. You need to put | |
| e2aae785 » | viklund | 2009-01-22 | 115 | these files and directories in some directory where Apache can execute it | |
| 116 | (your cgi-bin/ dir for example): | ||||
| 77521f2b » | viklund | 2008-08-15 | 117 | ||
| 118 | wiki.sh | ||||
| 119 | wiki | ||||
| 1f144959 » | masak | 2009-02-18 | 120 | lib/Config.pm | |
| 121 | lib/CGI.pm | ||||
| 122 | lib/Dispatcher.pm | ||||
| 123 | lib/Dispatcher/Rule.pm | ||||
| 124 | lib/HTML/Template.pm | ||||
| 125 | lib/HTML/Template/Grammar.pm | ||||
| 126 | lib/November.pm | ||||
| 127 | lib/November/Storage.pm | ||||
| 128 | lib/November/Storage/File.pm | ||||
| 129 | lib/Session.pm | ||||
| 130 | lib/Tags.pm | ||||
| 131 | lib/Text/Escape.pm | ||||
| 132 | lib/Text/Markup/Wiki/Minimal.pm | ||||
| 133 | lib/Text/Markup/Wiki/Minimal/Grammar.pm | ||||
| 134 | lib/Text/Markup/Wiki/MediaWiki.pm | ||||
| 135 | lib/URI.pm | ||||
| 136 | lib/URI/Grammar.pm | ||||
| 137 | lib/Utils.pm | ||||
| 4bd94f5d » | masak | 2008-11-29 | 138 | skin/ | |
| e2aae785 » | viklund | 2009-01-22 | 139 | ||
| 140 | Then put these directories somewhere else. Preferably someplace where apache | ||||
| 1f144959 » | masak | 2009-02-18 | 141 | can't serve them over the net. And yes, skin/ should be in both places, | |
| 142 | which is not optimal. We're working on that. | ||||
| e2aae785 » | viklund | 2009-01-22 | 143 | ||
| 77521f2b » | viklund | 2008-08-15 | 144 | data/ | |
| e2aae785 » | viklund | 2009-01-22 | 145 | skin/ | |
| 146 | |||||
| 147 | Edit the Config.pm file and set the $.server_root variable to the directory | ||||
| 1f144959 » | masak | 2009-02-18 | 148 | under which both skin/ and data/ are accessible (remember to include a | |
| 149 | trailing slash). $.web_root has to be '' for the moment, we don't yet | ||||
| 150 | support having November anywhere else, but hang in there. | ||||
| 77521f2b » | viklund | 2008-08-15 | 151 | ||
| 7dc9a487 » | masak | 2008-10-25 | 152 | If you have compiled November you can copy the .pir files instead of the .pm | |
| 153 | files. Make sure that the files and directories below data/ are readable | ||||
| 23c63ff4 » | viklund | 2009-01-21 | 154 | and writable by the web server. | |
| 77521f2b » | viklund | 2008-08-15 | 155 | ||
| 31551c6f » | masak | 2008-11-30 | 156 | To set up Apache to handle all request by November, you can use mod_rewrite: | |
| d6babd85 » | ihrd | 2008-11-29 | 157 | ||
| 31551c6f » | masak | 2008-11-30 | 158 | RewriteRule ^/([^\.]*)$ /cgi-bin/wiki.sh [PT] | |
| d6babd85 » | ihrd | 2008-11-29 | 159 | ||
| 31551c6f » | masak | 2008-11-30 | 160 | If you are using Apache for other purposes as well, you might want to do | |
| 161 | the rewriting differently. | ||||
| d6babd85 » | ihrd | 2008-11-29 | 162 | ||
| 31551c6f » | masak | 2008-11-30 | 163 | After this, you can direct your browser to the wiki: | |
| 77521f2b » | viklund | 2008-08-15 | 164 | ||
| d6babd85 » | ihrd | 2008-11-29 | 165 | http://localhost/ | |
| 166 | |||||
| 77521f2b » | viklund | 2008-08-15 | 167 | CONTACT | |
| 168 | ------- | ||||
| 169 | |||||
| fb0ef6dc » | viklund | 2008-09-02 | 170 | Google group: november-wiki@googlegroups.com | |
| 677624bb » | masak | 2008-09-03 | 171 | IRC channel: #november-wiki over at irc.freenode.org | |
