Revision history for App-Dapper

0.22    2026-10-29
        Fixed: settings in _config.yml (source, output, layout) are now
        honoured by every command. Command line options override the
        config file, which overrides the defaults. (GitHub #8)

        Fixed: pages with their own urlpattern are written to the path
        their URL describes, not the source file name. URLs ending in /
        become index files using the page extension. Empty tokens such as
        :category are dropped, and :slug falls back to the file name when a
        page has no title. page.url is now correct for plain pages too.
        (GitHub #5)

        Documented every site.* and page.* variable. Replaced the old
        Liquid syntax in the POD with the template syntax Dapper uses.
        (GitHub #4)

        Moved continuous integration from Travis CI to GitHub Actions,
        testing Perl 5.10 to 5.40 on Linux and macOS. (GitHub #11)

        Fixed: files are copied by Dapper itself instead of the shell, so
        names with spaces or shell characters work and cannot run commands.
        The output, source and layout directories are never copied into
        the output.

        Fixed: files in the source directory without front matter (images,
        zip files, plain text) are copied as they are instead of crashing
        the build.

        Fixed: front matter must start on the first line and close on a
        line of its own, so "---" inside a value no longer breaks a page.
        Empty front matter is allowed. Parse errors name the file.

        Fixed: dates in the pre-0.19 "2014-05-02 10:30:00" format and plain
        dates are accepted again, and a bad date names the file.
        Dates written without a time zone are now in the page's timezone
        setting, the new site-wide timezone setting, or the local time zone
        (xmlschema used to label them UTC).

        Fixed: layouts can be nested any number of levels, loops are
        reported, and front matter is removed from top-level layouts.

        Fixed: categories may be a list, and pages are processed in sorted
        path order so site.pages and page.id are the same on every machine.
        (page.id values may differ from 0.21, which used directory order.)

        Fixed: the replace_last filter now receives its arguments and
        matches literally, and smart handles adjacent dashes. The built-in
        json method ([% page.json(1) %], [% x | json %]) no longer
        double-encodes non-ASCII text. Removed Dapper's own json filter,
        which the built-in json always took precedence over. Dates gained
        an xmlschema method ([% page.date.xmlschema %]) because filters do
        not apply to dates.

        Fixed: watch now notices the config file and added or removed
        files, and keeps running when a rebuild fails.

        Fixed: unknown commands and options exit with an error, and failed
        builds exit non-zero. Added -q/--quiet, --help and --version.

        Removed dependencies on CGI, Data::Dumper::HTML, File::Monitor,
        Getopt::Mixed, Template::Toolkit (Template::Constants), Text::Markdown
        and Test. Removed the unused App::Dapper::Serve module. The minimum
        Perl version is now 5.10.

        Replaced the placeholder tests with a real test suite.

        Documentation: added a table of contents, a step-by-step blog
        tutorial, sections on source file types, assets, drafts and clean
        builds, limitations, upgrading from 0.21, troubleshooting and
        contributing, and refreshed the deployment instructions.

0.21    2025-01-22
        Added CGI to list of module dependencies.

0.20    2025-01-21
        Removed dependency on YAML::Tiny from test framework

0.19    2025-01-20
        Changed to Net::HTTPServer for local webserver use. This is a much
        better forking webserver to use than HTML::Brick and better supported.

        Enabled EVAL_PERL for embedding perl code in templates. Set EVAL_PERL
        to "true" to use (e.g. export EVAL_PERL=true). Then use [% perl %] blocks
        in templates to use embedded perl in your templates. See README for more.

        Changed timestamp format to use the ISO 8601 style date/time format.
        In previous versions of Dapper, the date format for posts that was accepted
        was (\d\d\d\d)-(\d\d)-(\d\d) (\d\d)\:(\d\d)\:(\d\d).

        Updated YAML processor from YAML::Tiny to YAML::PP. Now, Dapper supports
        YAML 1.2. See the documentation for the YAML spec and/or the YAML::PP
        documentation for more information on exactly what features are supported.

0.18    2014-05-02
        Adopted the TT3 mini-language as provided by Template::Alloy
        Added urlpattern and extension variables to site and page definitions
        Added consistent handling of urlpattern, and output file extensions

0.17    2014-04-15
        Clarified JSON Perl module dependency in Makefile.PL

0.16    2014-04-15
        Added README content for config files, source files, and layouts.
        Added 'json' filter for dumping Liquid variables to JSON for debug.

0.15    2014-04-07
        Added command-line option to specify web server port number.
        Dapper now works with Perl installations as old as v5.8.

0.14    2014-04-02
        Added deploy instructions to README and a getting started guide.
        Changed MIN_PERL_VERSION from v-string to string to eliminate NetBSD errors.

0.13    2014-04-27
        Added explicit hash derefs in attempt to support Perl 5.19.{8-10}.

0.12    2014-04-26
        Added explicit hash deref to avoid experimental warning in Perl 5.19.

0.11    2014-04-26
        Added auto-reload of files while serving local webserver.
        Changed format of post IDs from their URL to a global incrementing integer.

0.10    2014-03-05
        Improved README narrative.
        Watch routine now watches everything except contents of the _output dir.

0.09    2014-02-20
        Added 5.14.0 minimum perl version requirement.

0.08    2014-02-20
        Eliminated some tests (init, build) that were causing CI failures.

0.07    2014-02-20
        Added Getopt::Mixed to list of build options.

0.06    2014-02-20
        Added DateTime::Format::XSD dependency to resolve test errors.

0.05    2014-02-19
        Updated Makefile.PL dependencies to resolve errors for cpantesters.org.

0.04    2014-02-18
        Removed unicode characters from App::Dapper pod.
        Added references to source and issue tracking on github.

0.03    2014-02-18
        Added significant documentation to App::Dapper and bin/dapper.
        Simplified default _config.yml file.

0.02    2014-02-17
        Added documentation link from App::Dapper to bin/dapper.
        Fixed FreeBSD testing error as reported by cpantesters.org.

0.01    2014-02-01
        First version.

