<commit_before># Plerd

Plerd is meant to be an ultralight blogging platform for Markdown fans that plays well with Dropbox.

It allows you to compose and maintain blog posts as easily as adding and modifying Markdown files in a single, Dropbox-synced folder. Plerd creates an entirely static website based on the content of this one folder, automatically updating the site whenever this content changes.

This software is in **very early development**, currently existing in a minimum-viable-product form. Beyond being hard to install and obscure to use, its API might change dramatically while I, Plerd's creator, continue to puzzle out how it actually wants to work.

If you want something aiming towards a similar goal but rather more mature, have a look at [Letterpress](https://github.com/an0/Letterpress).

## Purpose

Plerd allows a blogger to publish new posts to their blog simply by adding Markdown files to a given Dropbox-synced directory on their local machine. They can also update posts by updating said files, and unpublish posts by deleting or moving files from that same folder.

The generated website comprises a single directory containing only static files. These include one "permalink" HTML page for every post, a recent-posts front page, a single archive page (in the manner of [Daring Fireball](http://daringfireball.net/archive)), and a syndication document in Atom format. All these are constructed from simple, customizable templates.

That's it! That's all Plerd does.

## Setup

### Installation

This version of Plerd is intended to run directly from a cloned Git repository, rather than from a formally installed location on your system. You will likely need to install its various library dependencies, however.

To install Plerd's dependencies, you need __cpanm__ (a.k.a. _cpanminus_) installed on your system. You can obtain cpanm via various package managers (e.g. apt-get), or [via the CPAN](https://metacpan.org/pod/distribution/App-cpanminus/bin/cpanm), or by running this command:

    curl -LO http://xrl.us/cpanm

With cpanm installed, run the following command from the top level of your plerd directory (the one containing this here README file):

    cpanm --installdeps .

This should crunch though the installation of a bunch of Perl modules that Plerd needs. It'll take a few minutes. When it's all done, Plerd will be ready for configuration.

### Configuration

1. Create a new directory in your Dropbox for Plerd's sake. You can name it whatever you'd like, and it can exist at any level within your Dropbox. Then, create these subdirectories inside of it:

    * `source`: This will hold your blog's Markdown-based source files.
    * `templates`: Holds your blog's templates.
    * `docroot`: Will hold your blog's actual docroot, ready for serving up by the webserver software of your choice.
    
    You can freely add other files or directories in this directory if you wish (a `drafts` folder, perhaps?). Plerd will happily ignore them.

1. Update `conf/plerd.conf` to best suit your blog. 

    * Set the `path` attribute to the full path of the Dropbox-synched directory you created in the first step.
    * Set the other attributes as should be obvious, based on the provided examples.

1. Copy the contents of this repository's `templates` directory into the new `templates` subdirectory you created in the first step.

    These are sample templates that you can customize as much as you'd like. They are rendered using [Template Toolkit](http://www.template-toolkit.org). You can't change these template files' names, but you can add new sub-template files that the main temlates will invoke via [the [% INCLUDE %] directive](http://www.template-toolkit.org/docs/manual/Directives.html#section_INCLUDE), and so on.<commit_msg>Gotta make cpanm executable if you're installing it via curl.<commit_after># Plerd

Plerd is meant to be an ultralight blogging platform for Markdown fans that plays well with Dropbox.

It allows you to compose and maintain blog posts as easily as adding and modifying Markdown files in a single, Dropbox-synced folder. Plerd creates an entirely static website based on the content of this one folder, automatically updating the site whenever this content changes.

This software is in **very early development**, currently existing in a minimum-viable-product form. Beyond being hard to install and obscure to use, its API might change dramatically while I, Plerd's creator, continue to puzzle out how it actually wants to work.

If you want something aiming towards a similar goal but rather more mature, have a look at [Letterpress](https://github.com/an0/Letterpress).

## Purpose

Plerd allows a blogger to publish new posts to their blog simply by adding Markdown files to a given Dropbox-synced directory on their local machine. They can also update posts by updating said files, and unpublish posts by deleting or moving files from that same folder.

The generated website comprises a single directory containing only static files. These include one "permalink" HTML page for every post, a recent-posts front page, a single archive page (in the manner of [Daring Fireball](http://daringfireball.net/archive)), and a syndication document in Atom format. All these are constructed from simple, customizable templates.

That's it! That's all Plerd does.

## Setup

### Installation

This version of Plerd is intended to run directly from a cloned Git repository, rather than from a formally installed location on your system. You will likely need to install its various library dependencies, however.

To install Plerd's dependencies, you need __cpanm__ (a.k.a. _cpanminus_) installed on your system. You can obtain cpanm via various package managers (e.g. apt-get), or [via the CPAN](https://metacpan.org/pod/distribution/App-cpanminus/bin/cpanm), or by running this paif of commands:

    curl -LO http://xrl.us/cpanm
    chmod +x cpanm

With cpanm installed, run the following command from the top level of your plerd directory (the one containing this here README file):

    cpanm --installdeps .

This should crunch though the installation of a bunch of Perl modules that Plerd needs. It'll take a few minutes. When it's all done, Plerd will be ready for configuration.

### Configuration

1. Create a new directory in your Dropbox for Plerd's sake. You can name it whatever you'd like, and it can exist at any level within your Dropbox. Then, create these subdirectories inside of it:

    * `source`: This will hold your blog's Markdown-based source files.
    * `templates`: Holds your blog's templates.
    * `docroot`: Will hold your blog's actual docroot, ready for serving up by the webserver software of your choice.
    
    You can freely add other files or directories in this directory if you wish (a `drafts` folder, perhaps?). Plerd will happily ignore them.

1. Update `conf/plerd.conf` to best suit your blog. 

    * Set the `path` attribute to the full path of the Dropbox-synched directory you created in the first step.
    * Set the other attributes as should be obvious, based on the provided examples.

1. Copy the contents of this repository's `templates` directory into the new `templates` subdirectory you created in the first step.

    These are sample templates that you can customize as much as you'd like. They are rendered using [Template Toolkit](http://www.template-toolkit.org). You can't change these template files' names, but you can add new sub-template files that the main temlates will invoke via [the [% INCLUDE %] directive](http://www.template-toolkit.org/docs/manual/Directives.html#section_INCLUDE), and so on.
{'fraction_non_alphanumeric': 0.05837033167928963, 'fraction_numerical': 0.0010446591799425438, 'mean_word_length': 4.296680497925311, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2027144', 'n_tokens_mistral': 2000, 'n_tokens_neox': 1882, 'n_words': 1105}