1PFT-MAKE(1)           User Contributed Perl Documentation          PFT-MAKE(1)
2
3
4

NAME

6       pft make - Build the PFT website
7

SYNOPSIS

9       pft make
10

DESCRIPTION

12       This command builds all content within the "ROOT/content" directory
13       into HTML form.
14
15       The content will be first organized into an internal graph
16       representation, so that each entry knows which other entries refer to
17       it.  Each node of the graph is then mapped on a HTML template, and and
18       saved in the "ROOT/build" directory.  During this process unresolved
19       links are notified to the user via standard error.
20
21   Templates and expansions
22       HTML templates must be stored in the "ROOT/templates" directory.
23
24       The template engine in use is "Template::Alloy".  In a nutshell, it
25       allows to expand simple code blocks within a HTML (or text) skeleton,
26       as for example in:
27
28           <title>[% site.title %]</title>
29
30       Loops and conditionals are also supported.  See the "Template::Alloy"
31       user manual for learning the supported mini-language.
32
33       A bunch of pre-defined, templates are installed by default during the
34       initialization process (see pft-init(1)).
35
36   The output website
37       The output encoding depends on a configuration key in "pft.yaml" (see
38       pft-init(1)). The template is expected to define the encoding in a
39       proper way, that is by making use of the "[% site.encoding %]" key in
40       the HTML header:
41
42           <head>
43           <meta http-equiv="content-type"
44                 content="text/html; charset=[% site.encoding %]">
45           ...
46           </head>
47
48       The result of a build is a collection of HTML pages.  Since "a href"
49       links are relative, the generated site will work fine even if moved or
50       copied remotely on another system (see pft-pub(1)).
51
52   Injected data
53       The pft make command will populate the "ROOT/build" directory.
54
55       Additional static data to inject in the resulting website can be placed
56       in the "ROOT/inject" directory.  This meets the common requirement of
57       placing additional files in the root directory of online websites
58       (typical case being the ".htaccess" file of Apache).
59
60       The pft-make(1) command will first attempt to hard-link the injected
61       files, from "ROOT/inject" to "ROOT/build".  If this fails (e.g. because
62       hard-links are not supported by the filesystem) soft-links are
63       attempted.  If nothing else succeeds, pft make will make a copy of each
64       injected file.
65

OPTIONS

67       --help
68           Show this guide.
69

EXIT STATUS

71       •   1 in case of option parsing failure.
72
73       •   2 if it was impossible to construct the filesystem tree.
74
75       •   3 in case of corrupt configuration.
76

SEE ALSO

78       pft(1), pft-gen-rss(1), pft-init(1)
79
80
81
82perl v5.38.0                      2023-07-20                       PFT-MAKE(1)
Impressum