App-PFT

 view release on metacpan or  search on metacpan

bin/pft  view on Meta::CPAN

#!/usr/bin/perl
#
# Copyright 2014-2019 - Giovanni Simoni
#
# This file is part of PFT.
#
# PFT is free software: you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your
# option) any later version.
#
# PFT is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License along
# with PFT.  If not, see <http://www.gnu.org/licenses/>.
#

=encoding utf-8

=head1 NAME

pft - Hacker friendly static blog generator

=head1 SYNOPSIS

B<pft> E<lt>commandE<gt> [options]

=head1 DESCRIPTION

I<PFT> It is a static website generator written in Perl.  PFT stands for
I<Plain F. Text>, where the meaning of I<F> is up to personal
interpretation. Like I<Fancy> or I<Fantastic>.

Static means that your content is compiled once and the result can be
served by a simple HTTP server, without need of server-side dynamic
content generation. Actually it doesn't need a server either: you can use
it as note-taking application and browse trough your local files.

I<PFT> is designed to be Hacker Friendly: it's a command-line application
with unicode support, which handles your website's boilerplate, but stays
out of the way. It comes with number of subcommands:

=over

=item *

B<init>: Initialize a B<pft> site in the current directory;

=item *

B<edit>: Create a content text (e.g. page or blog entry);

=item *

B<make>: Build the website;

=item *

B<gen-rss>: Generate RSS feed XML;

=item *

B<pub>: Publish the website;

=item *

B<clean>: Clear built tree;

=item *

B<grab>: Grab a file as attachment or picture;

=item *

B<ls>: List content and properties;

=item *

B<show>: Show the compiled site in a web browser;

=item *

B<help>: Show this manual.

=back

The manual of each sub-command is available in form of manpages or by
invoking it with the C<--help> flag.

=head1 FILES

A new site can be initialized by running the C<pft init> command inside a
directory. In this document such directory will be called I<ROOT>.

The initialization command produces the following filesystem structure:

    ROOT
    |-- pft.yaml            - Configuration file
    |-- content
    |   |-- attachments     - Location for attachments



( run in 1.402 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )