99 lines
2.2 KiB
Perl
Executable File
99 lines
2.2 KiB
Perl
Executable File
#!/usr/bin/env perl
|
||
# vim:ts=4:sw=4:expandtab
|
||
|
||
use strict;
|
||
use warnings;
|
||
use Pod::Simple::HTML;
|
||
use Getopt::Long;
|
||
use v5.10;
|
||
|
||
my $stylesurl = '';
|
||
|
||
GetOptions("stylesurl=s" => \$stylesurl)
|
||
or die "parsing flags";
|
||
|
||
$Pod::Simple::HTML::Tagmap{'Verbatim'} = '<pre><tt>';
|
||
$Pod::Simple::HTML::Tagmap{'VerbatimFormatted'} = '<pre><tt>';
|
||
$Pod::Simple::HTML::Tagmap{'/Verbatim'} = '</tt></pre>';
|
||
$Pod::Simple::HTML::Tagmap{'/VerbatimFormatted'} = '</tt></pre>';
|
||
|
||
if (@ARGV < 2) {
|
||
say STDERR "Syntax: i3-pod2html <pod-input-path> <html-output-path>";
|
||
exit 1;
|
||
}
|
||
|
||
open(my $in, '<', $ARGV[0]) or die "Couldn’t open $ARGV[0] for reading: $!\n";
|
||
open(my $out, '>', $ARGV[1]) or die "Couldn’t open $ARGV[1] for writing: $!\n";
|
||
|
||
my $parser = Pod::Simple::HTML->new();
|
||
|
||
$parser->index(1);
|
||
if ($stylesurl ne '') {
|
||
$parser->html_header_before_title(
|
||
<<EOF
|
||
<!doctype html>
|
||
<html lang="en">
|
||
<head>
|
||
<link rel="icon" type="image/png" href="/favicon.png">
|
||
<meta charset="utf-8">
|
||
<meta name="generator" content="Pod::Simple::HTML">
|
||
<meta name="description" content="i3 Perl documentation">
|
||
<link rel="stylesheet" href="$stylesurl/style.css" type="text/css" />
|
||
<style type="text/css">
|
||
.pod pre {
|
||
background: #333;
|
||
border: 1px solid #555;
|
||
border-left: 5px solid #555;
|
||
padding: 0.5em;
|
||
padding-left: 0;
|
||
padding-right: 0.5em;
|
||
white-space: pre;
|
||
color: white;
|
||
}
|
||
|
||
.pod ul {
|
||
list-style-type: none;
|
||
}
|
||
.pod li {
|
||
margin-bottom: 0 !important;
|
||
}
|
||
|
||
tt {
|
||
font-family: 'Droid Sans Mono', sans-serif;
|
||
font-size: inherit;
|
||
}
|
||
|
||
.pod h1 a, .pod h2 a, .pod h3 a, .pod h4 a {
|
||
text-decoration: none;
|
||
color: white;
|
||
}
|
||
</style>
|
||
<title>
|
||
EOF
|
||
);
|
||
}
|
||
$parser->html_header_after_title(
|
||
<<'EOF'
|
||
</title>
|
||
</head>
|
||
<body>
|
||
|
||
<div id="main">
|
||
<a href="/"><h1 id="title">i3 - improved tiling WM</h1></a>
|
||
<ul id="nav">
|
||
<li><a style="border-bottom: 2px solid #fff" href="/docs">Docs</a></li>
|
||
<li><a href="/screenshots">Screens</a></li>
|
||
<li><a href="https://www.reddit.com/r/i3wm/">FAQ</a></li>
|
||
<li><a href="/contact">Contact</a></li>
|
||
<li><a href="https://bugs.i3wm.org/">Bugs</a></li>
|
||
</ul>
|
||
<br style="clear: both">
|
||
<div id="content" class="pod">
|
||
<h1>i3 Perl documentation</h1>
|
||
|
||
EOF
|
||
);
|
||
|
||
$parser->output_fh($out);
|
||
$parser->parse_file($in);
|