[EDIT Sep 19, 2015] We are again reviewing this proposal. Please leave feedback by September 27, 2015.
We have received the following grant application "Document and release Plerd, an open-source lightweight blogging engine". Please leave feedback in the comments field by July 26th, 2015. If your comment does not appear in 24 hours, contact me at tpf-grants-secretary at perl-foundation.org.
Document and release Plerd, an open-source lightweight blogging engine
Plerd is an ultralight, Markdown-based blogging platform intended for use with Dropbox.
Once set up server-side, it lets bloggers create and edit posts using only their own favorite text editors and filesystems, with no special client applications, websites, or commands involved.
I believe it to fill an underserved need for extremely simple self-hosted blogging systems, an alternative to very large and complex content-management solutions like Wordpress or Movable Type.
Benefits to the Perl Community
As a conceptually simple yet widely useful open-source application written entirely in modern Perl, Plerd has the potential to bring positive attention and goodwill to Perl 5. It can demonstrate the language's capabilities to power a fun, friendly work of software useful to any self-hosted blogger, regardless of their own preference of programming language.
- Bring the Plerd codebase up to CPAN standards, declaring a version 1.0
- Make this 1.0 release available on CPAN, such that anyone with command-line access to a webserver can easily install it, with no Perl expertise necessary
- Create and publish online a separate, attractive documentation booklet for Plerd, intended for bloggers with some technical aptitude (i.e. command-line comfort) and the desire to host their own blog
Plerd's GitHub repository contains a README that details its current state, also serving as basic user documentation: https://github.com/jmacdotorg/plerd/blob/master/README.md
I created Plerd after years of not blogging at all (a result of LiveJournal's community drying up in the face of modern social media). I have used systems like Movable Type and Wordpress in the past, but the thought of working with an enormous, multi-user, enterprise-ready "content management system" did not appeal to me at all when I just wanted to write blog posts in Markdown and have them appear as HTML somewhere as soon as I wrote them.
Plerd distinguishes itself from similarly aimed systems by having no UI at all. A Plerd-using blogger creates posts by adding Markdown files to a Dropbox-shared directory on their own filesystem, and updates them simply by editing them in-place using whatever text editor they favor.
Plerd's daemon, running server-side and keeping an eye on its own copy of the the blog's Dropbox-shared source folder, knits up a complete static-HTML website whenever changes to that folder occur. This frees the blogger from any need to write with special programs, use special websites, or run special commands to upload or modify posts. They don't need to authenticate with any third-party services, at least not beyond Dropbox -- and Plerd requires no unusual use of Dropbox, from the blogger's point of view.
The writer is left merely to write, on their own terms, using their own tools.
Blog owners can customize their blog's appearance through the use of Template Toolkit-based template files. Plerd ships with a set of default, easily extensible templates that create a lovely Bootstrap 3 website. This site includes a front page, individual pages for each post, an archive page, and an RSS feed.
Plerd powers at least one actively maintained weblog, this being my own (http://blog.jmac.org). I began both the blog and the software in late December, 2014, and have updated it at least once per week since then, making this a bowl of dog food I have returned to dozens of times. All the changes I've made to the software respond to features I've desired and bugs I've noticed since.
- Add any remaining features necessary to declare a 1.0 release
- Updating the templates should trigger a blog refresh, just like updating the posts already does.
- Anything else I or others might think of by then? That's all I have right now, though.
- Fix any outstanding bugs
- Plerd has no known outstanding bugs as I write this proposal. I expect that we shall find some, just the same.
- Write and publish user documentation (outside of Github)
- Write a Plerd::Manual doc-module in POD format, such that it'll look beautiful on Meta::CPAN
- Create and publish a standalone website based on the same documentation, presenting it outside of a Perl-specific context
- Make a 1.0 release and put it on the CPAN
- Apply the proper Perlish version-declaration conventions to Plerd's modules and executables
- Apply whatever file-based metadata magic is expected of well behaved CPAN modules these days
- Declare a 1.0 release; tag it as such on Github
- Upload it to CPAN
- Spread the news
I would be able to complete this work within the space of two calendar months.
At the time of this writing (mid-July 2015), I expect to have an appropriate amount of free time beginning in October 2015.
I consider this proposal's deliverables quite concrete. Each major task involves new software releases or documentation publication, all visible to the public.
Jason McIntosh (firstname.lastname@example.org) has been working with Perl professionally and otherwise since the late 1990s. He continues to employ Perl daily both in his role as an independent software and game-design consultant, and while producing a variety of creative personal projects.
Jason became a born-again open-source hacker in early 2013 after learning to use Git and Github for a client project. Since then, he has contributed to a number of open-source CPAN-based projects, ranging from higher-profile modules such as DBIx::Class and HTML::FormHandler to the humbly useful Markdown::Pod.
Relevant to this grant application, Jason has been writing online and in public since 2001, relaunching his personal blog in 2014 with Plerd, a new, minimal writing platform of his own design (which happens to be written in Perl). He gave a talk about all this at YAPC::NA in 2015 (https://www.youtube.com/watch?v=5X4VaeoCSe8).