diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ballet.pm | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/lib/ballet.pm b/lib/ballet.pm index 10e3a1f..aa2836b 100644 --- a/lib/ballet.pm +++ b/lib/ballet.pm @@ -13,10 +13,39 @@ get '/' => sub { wiki_page('Home'); }; +get '/edit/*' => sub { + my ($page_name) = splat; + + debug("looking for page $page_name"); + + my $content = $git->find_page($page_name, 'master'); + template 'edit', {content => $content, title => 'Home'}; +}; + +post '/edit/*' => sub { + my ($page_name) = splat; + + my $content = params->{content}; + update_wiki_page($page_name, $content); + redirect uri_for('/'); +}; + sub wiki_page { my $page_name = shift; - my $content = $git->find_page($page_name, 'master'); - return $content; + my $content = $git->find_page( $page_name, 'master' ); + + template 'page', + { + title => $page_name, + author => 'franck', + date => '10/10/10', + content => $content + }; +} + +sub update_wiki_page { + my ($page_name, $content) = @_; + $git->update_page($page_name, $content); } true; |