NAME Web::PerlDistSite - generate fairly flashy websites for CPAN distributions DESCRIPTION Basically a highly specialized static site generator. Prerequisites You will need cpanm. You will need nodejs with npm. You will need make. Setup Create a directory and copy the example Makefile and project.json files from this distribution into it. Then run `make install` to install additional Nodejs and Perl dependencies. Site Configuration Configuration is via a file config.yaml. This is a YAML file containing a hash with the following keys. Each key is optional, unless noted as required. An example config.yaml is included in this distribution. `theme` *(required)* A hashref of colour codes. You need at least "primary", "secondary", "light", and "dark". "info", "success", "warning", and "danger" are also allowed. theme: light: "#e4e3e1" dark: "#32201D" primary: "#763722" secondary: "#E4A042" `name` *(required)* The name of the project you're building a website for. This is assumed to be a CPAN distribution name, like "Exporter-Tiny" or "Foo-Bar-Baz". `abstract` *(required)* A short plain-text summary of the project. `abstract_html` A short HTML summary of the project. `copyright` *(required)* A short plain-text copyright statement for the website footers. `github` Link to a GitHub repo for the site. Expected to be of the form "https://github.com/username/reponame". `issues` Link to an issue tracker. `sponsor` Hashref containing project sponsorship info. The "html" key is required. The "href" key is optional. sponsor: html: "Please sponsor us! Blah blah blah." href: https://paypal.example/foo-bar-baz `menu` A list of files to include in the navbar. If this key is missing, will be loaded from menu.yaml instead. `homepage` Hashref of options for the homepage (index.html). May contain keys "animation", "banner", "banner_fixation", "banner_position_x", and "banner_position_y". The "animation" may be "waves1", "waves2", "swirl1", "attract1", or "circles1". Each of these will create a pretty animation on the homepage. Some day I'll add support for more animations. If "animation" is not defined, then "banner" can be used to supply the URL of a static image to use instead of an animation. "banner_fixation" can be "scroll" or "fixed", and defaults to the latter. "banner_position_x" can be "left", "center", or "right". "banner_position_y" can be "top", "center", or "bottom". These each default to "center". "hero_options" is *itself* a hashref and allows various parts of the banner/animation to be overridden. In particular, "title" and "abstract". homepage: animation: waves1 hero_options: title: "Blah" abstract: "Blah blah blah" In the future, more homepage options may be available. `dist_dir` Directory for output. Defaults to a subdirectory called "docs". `root_url` URL for the output. Can be an absolute URL, but something like "/" is probably okay. (That's the default.) `codestyle` Name of a highlight.js theme, used for code syntax highlighting. Defaults to "github". `pod_filter` A list of section names which will be filtered out of pages generated from pod files. Uses "|" as a separator. Defaults to: "NAME|BUGS|AUTHOR|THANKS|COPYRIGHT AND LICENCE|DISCLAIMER OF WARRANTIES". `pod_titlecase` Boolean. Should ALL CAPS "=head1" headings from pod be converted to Title Case? Defaults to true. `pod_downgrade_headings` Converts pod "=head1" to `