App::PM::Website installs pm-website
, a commandline tool for maintaining a perl monger website at pm.org. pm-website
handles rendering the index page and updating it via WebDAV.
Monger groups get free hosting at $group.pm.org, but only static content is allowed and it can only be edited via WebDAV. I use pm-website
to maintain the Los Angeles Perl Mongers website.
WebDAV is not complicated, but it can be a pain. Once I decided to automate the WebDAV upload, it was a quick hop, skip and a jump to automating the whole process of updating the front page with information about the next meeting and updating the list of past meetings.
A single yaml configuration file maintains configuration and data for the meetings, presenters and locations. Updating for a new meeting is a simple matter of adding an entry in the meetings array with the date, location and information about the presentations and presenters. pm-website build
renders the page and pm-website install
pushes it via WebDAV.
Get started by creating a stub configuration file with pm-website init
. Check out the la.pm.org source repository on github for more inspiration.
Technical details:
App::PM::Website uses App::Cmd and is easily extensible by writing new commands in the App::PM::Website::Command::* namespace. HTTP::DAV provides WebDAV transport and Net::Netrc handles reading credentials from a standard .netrc file. Template::Toolkit is used for rendering the index template. App::PM::Website is a Dist::Zilla based distribution.Check out the app-pm-website source at github.
No comments:
Post a Comment