=head1 NAME Galileo - A simple modern CMS built on Mojolicious =head1 SYNOPSIS $ galileo setup $ galileo daemon =head1 DESCRIPTION L is a Perl CMS with some modern features. It uses client-side markdown rendering and websockets for saving page data without reloading. L relies on many other great open-source projects, see more in the L section. This release is very young, don't expect anything not to break, for now. Bug reports very welcome. =head1 INSTALLATION L uses well-tested and widely-used CPAN modules, so installation should be as simple as $ cpanm Galileo when using L. Of course you can use your favorite CPAN client or install manually by cloning the L. =head1 SETUP L installs a helper script C. It inherits from the L command, but it provides extra functions specifically for use with Galileo. =head2 config $ galileo config [options] This command writes a configuration file in your current working directory. It uses the preset defaults for all values, except that it prompts for a secret. This can be any string, however stronger is better. You do not need to memorize it or remember it. This secret protects the cookies employed by Galileo from being tampered with on the client side. L does not need to be configured, however it is recommended to do so to set your application's secret. The C<--force> option may be passed to overwrite any configuration file in the current working directory. The default is to die if such a configuration file is found. =head2 setup $ galileo setup Run C to setup a database. This step is required. It will use the default DBI settings (SQLite) or whatever is setup in the configuration file generated by the C command. =head1 RUNNING THE APPLICATION $ galileo daemon After the database is has been setup, you can run C to start the server. You may also use L (Mojolicious' development server) or L (Mojolicious' production server). You may even use any other server that Mojolicious supports, however for full functionality it must support websockets. When doing so you will need to know the full path to the C application. A useful recipe might be $ hypnotoad `which galileo` or replace C with your server of choice. =head2 Configuration L will look for a configuration file named F in the current working directory. To change this behavior set the environment variable C to the full path to your configuration file. Note that the `galileo config` action will respect this variable and will write a configuration file to that full file path if detected. =head1 TECHNOLOGIES USED =over =item * L - a next generation web framework for the Perl programming language =item * L - an extensible and flexible Object/Relational Mapper written in Perl =item * L (Markdown engine) - the version of Attacklab's Showdown and WMD as used on Stack Overflow and the other Stack Exchange sites =item * L - the beautiful CSS/JS library from Twitter =item * L - because everything uses jQuery =item * L - A simple, modern, browser notification system =back =head1 SEE ALSO =over =item * L - File-based Markdown website application =back =head1 SOURCE REPOSITORY L =head1 AUTHOR Joel Berger, Ejoel.a.berger@gmail.comE =head1 COPYRIGHT AND LICENSE Copyright (C) 2012 by Joel Berger This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.