dev mode
[scpubgit/SCS.git] / lib / SCSite.pm
index 0809083..43efb3f 100644 (file)
@@ -21,6 +21,7 @@ sub default_config {
   (
     pages_dir => 'share/pages',
     template_dir => 'share/templates',
+    static_dir => 'share/static',
     feed_id_prefix => 'http://shadow.cat',
   )
 }
@@ -118,8 +119,10 @@ sub _render_page {
   my $zoom = $self->_layout_zoom;
   my %filters = %{$self->filters};
   $zoom->select('.page.title')->replace_content($page->title)
-       ->select('meta[name=description]')->replace_content($page->description)
-       ->select('meta[name=keywords]')->replace_content($page->keywords)
+       ->select('meta[name=description]')
+         ->set_attribute(content => $page->description)
+       ->select('meta[name=keywords]')
+         ->set_attribute(content => $page->keywords)
        ->select('.main')->replace_content(\$page->body)
        ->apply(sub {
            foreach my $fname (sort keys %filters) {
@@ -154,4 +157,14 @@ sub run_if_script {
   $new->run(@_)
 }
 
+around _run_cli => sub {
+  my ($orig, $self) = (shift, shift);
+  if (@_ >= 2 and $_[0] eq 'dev' and $_[1] eq 'server') {
+    require SCSite::DevMode;
+    Moo::Role->apply_roles_to_object($self, 'SCSite::DevMode');
+    return $self->_run_dev_server(@_[2..$#_]);
+  }
+  return $self->$orig(@_);
+};
+
 __PACKAGE__->run_if_script;