Shuffles a bit of stuff out of App::WRT::Renderer into App::WRT, including
the method now called get_all_source_files() and a new one called
get_all_day_entries() that returns a sorted listed of days.
Uses state variables to cache the get_all_source_files() data, as well
as month_before() data (this was previously memoized inside a closure).
App::WRT::feed_print() now takes a list of entries instead of a month to
render the feed for.
App::WRT::feed_print_latest() gets a feed with most recent feed_length
entries.
Adds a wrt-init kind of on the model of git init for starting a stub
directory with wrt.json, archives/, publish/, and templates/.
Also starts to tweak POD a bit.
I went and read:
https://pause.perl.org/pause/authenquery?ACTION=pause_namingmodules
Realized I should probably not name this something with an inscrutable
top-level namespace. WRT is still inscrutable, I guess, but at least
it's now under App.
- Renames all modules, fixes tests (such as they are)
- Zaps old t/validate/ stuff
- create an index.html with new entries
- create an /all/index.html with a list of all entries
- create a /feed containing an atom feed of the most recent month
- a paragraph on requirements in the installation section
- copyright date through 2017
- adds include_process() in WRT::Markup
- moves eval_perl() into WRT::Markup. The way object instances are
composed (and instance methods called) here still feels pretty janky,
and this does nothing to help the situation.
- changes all existing $root_dir instances to $entry_dir; adds a $root_dir
which represents the root of the archive (top-level folder containing
the wrt.json file)
I'd be worried about the $root_dir change if I thought this module had a
single other user in the wild, but I strongly doubt that it does. If I
am wrong and you are that user, I apologize sincerely in advance.
The include feature still has fairly unsettled semantics, but it gets the
whole thing much closer to a usable site generator.