App-zen

 view release on metacpan or  search on metacpan

bin/zen  view on Meta::CPAN

  "--exec SECTION"            => [\$opt_exec, 'execute section'],
  "--toc"               => [\$opt_toc, 'generate toc'],
  "--html"              => [\$opt_html, 'Set output format for documentation'],
  "--latex"             => [\$opt_latex, 'Set output format for documentation'],
  "--source-map FILENAME"      => [\$opt_source_map, 'Generate source map'],
  "--top-heading LEVEL"     => [\$opt_top_heading, 'Set top level section type: <part|chapter|section>'],
  "--document-class CLASS"  => [\$opt_document_class, 'Set latex document class'],
  "--verbose"           => [\$opt_verbose, 'More logging'],
  "--output FILENAME"          => [\$opt_output_file, 'Set output file'],
  "--port PORT:i"       => [\$opt_port, 'Start HTTP Server at port'],
  "--daemon"            => [\$opt_daemon, "Run server in background"],
  "--json-dump"         => [\$opt_json_dump, 'Dump the document'],
  "-x SECTION"          => [\$opt_exec, 'short for --exec'],
  "-o OUTPUTFILE"       => [\$opt_output_file, 'short for --output'],
  "-t SECTION"          => [\$opt_target, 'short for --target'],
  "-s SECTION"          => [\$opt_target, 'short for --section'],
  "-h"                  => [\$opt_help, 'Shows help information'],
);

my %optionsSpec = map {
    my $k = $_;

bin/zen  view on Meta::CPAN

      $ln++;
    }
    print $output $_->{text},"\n";
  }
}
use Data::Dumper;

sub docgen_html {
 my $zf = shift;
 my $old = select(shift);
 print "<!DOCTYPE HTML>\n\n<html>\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\n<link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/gh/highlightjs/cdn-release\@10.7.3/build/style...
 print "<script>";
 print "window.zen = ";
 print JSON::encode_json({
   last_modified => $zf->{last_modified},
   size => $zf->{size},
 });
 print "</script>";
 print '<div class="container">';

 print '<aside class="col foldable narrow">';

bin/zen  view on Meta::CPAN

        print "\r\n";
        print JSON::encode_json(\@contents);
        return;
      } else {
        write_error(400, "Bad parameter: unsupported fmt");
        return;
      }
    }
  
    print "HTTP/1.0 200 OK\r\n\r\n";
    print "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <title>Index</title>\n    <style>\n      :root {\n        --navbar-height: 1.6rem;\n      }\...
    print "<div class=\"xxpad\"><h1>Index</h1>\n";
    print "<table>\n";
    print "<thead><tr class=\"sticky-top\"><th>Name</th><th>Size</th><th>Last Modified</th></tr></thead>\n";
    for (@contents) {
       my $timestr = strftime('%FT%TZ%z', localtime($_->{mtime}));
       print "<tr>";
       print "<td><a href=\"$_->{name}\">$_->{name}</a></td>";
       print "<td class=\"align-right\">$_->{size}</td>";
       print "<td>$timestr</td>";
       print "</tr>\n";

bin/zen  view on Meta::CPAN

      open FH, "perl ./zen2.pl --html  $name|";
      while (<FH>) {
         print $_;
      }
      close FH
  }
  }
  
  my $server = App::zen::WebServer->new($opt_port);
  if ($opt_daemon) {
    $server->background();
  } else {
    $server->run();
  }
  exit;
}

if (scalar @ARGV != 1) {
  usage();
}



( run in 1.254 second using v1.01-cache-2.11-cpan-f56aa216473 )