browse code on disk at /code/
authorDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 17 Jun 2010 17:42:08 +0000 (19:42 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 17 Jun 2010 17:42:08 +0000 (19:42 +0200)
lib/MojoFacets/Code.pm [new file with mode: 0644]
templates/code/index.html.ep [new file with mode: 0644]

diff --git a/lib/MojoFacets/Code.pm b/lib/MojoFacets/Code.pm
new file mode 100644 (file)
index 0000000..db4ad9f
--- /dev/null
@@ -0,0 +1,30 @@
+package MojoFacets::Code;
+
+use strict;
+use warnings;
+
+use base 'Mojolicious::Controller';
+
+use Data::Dump qw(dump);
+use File::Slurp;
+
+sub index {
+       my $self = shift;
+
+       my $dir = $self->app->home->rel_dir('public') . '/code';
+
+       my $snippets;
+
+       foreach my $full_path ( glob("$dir/*.pl") ) {
+               my $path = $full_path;
+               $path =~ s/^$dir\/*//;
+               my ( $column, $description ) = split(/\./,$path,2);
+               $snippets->{$column}->{$description} = read_file $full_path;
+       }
+
+       $self->render(
+               snippets => $snippets,
+       );
+}
+
+1;
diff --git a/templates/code/index.html.ep b/templates/code/index.html.ep
new file mode 100644 (file)
index 0000000..7512beb
--- /dev/null
@@ -0,0 +1,15 @@
+% layout 'default';
+
+<h1>Code snippets</h1>
+
+% foreach my $column ( keys %$snippets ) {
+<h2><%= $column %></h2>
+<ul>
+%   foreach my $desc ( keys %{ $snippets->{$column} } ) {
+<li><a href="/code/<%= $column . '.' . $desc %>"><%= $desc %></a>
+<pre><%= $snippets->{$column}->{$desc} %></pre>
+%   }
+</ul>
+% }
+
+<tt class=debug><%= dumper stash('snippets') %></tt>