Almost-minimal filesystem based blog.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

242 lines
7.6 KiB

Revision history for App::WRT
v8.1.0 2023-05-24
- Add url_rel
v8.0.0 2022-09-26
- Add experimental filters feature
- Revise license to explicitly GPL 2 or 3
- Update various dependency versions
v7.1.2 2020-07-24
- Alphabetically sort sub-entries
v7.1.1 2020-07-23
- Add a date_published to JSON Feed output
v7.1.0 2020-04-18
- Add some handling for sites with an index file in the root
- wrt-render-all now uses the configured default for root of site instead
of "new"
v7.0.0 2020-04-04
- Add a full tagging system
- Cache HTML for every entry in the archive for a speedup in rendering large sites
- Extract headers from rendered HTML with Mojo::DOM and cache
- Use extracted headers to title pages, navigation links, and feed entries
- Handle feed_alias in wrt-display
- Remove entry_map from configuration and hardcode the default's assumptions
about blog entry layout
- Remove embedded_perl from configuration - now always look for embedded
Perl, since this is required for templates. This feature may be
deprecated in a future release.
- Warn on HTML parsing errors (usually character encoding issues)
- Rename default template from "basic" to "default"
- Add JSON Feed support, improve Atom feed performance
- Add wrt-repl for debugging
- Add feed links to default template produced by wrt-init
- Add wrt-feed for printing feeds
v6.3.1 2019-06-23
- Generalize iso_date() test for epoch to include all timezones
v6.3.0 2019-06-22
- Move get_date() from App::WRT::Util to App::WRT::Date
- Make App::WRT::FileIO and ::Util less redundant
- Add App::WRT::Mock::FileIO for faking writes in tests
- Make bin/wrt-render-all testable, add t/bin-wrt-render-all.t
v6.2.4 2019-05-28
- Replace README.pod with a concise README.md
v6.2.3 2019-05-16
- bin/wrt-display: correctly expand new, fulltext, all
v6.2.2 2019-05-16
- EntryStore: stash sorted list of all entries as found
v6.2.1 2019-05-16
- bin/wrt-help
- list more subcommands
- fix display of utility name
v6.2.0 2019-05-16
- EntryStore: Add methods for further slicing entry list:
- Days by month or year
- Months by year
- Immediate children and parents of entries
- basename($entry)
v6.1.0 2019-05-16
- Add bin/wrt-help and bin/wrt-version
- Includes -h, --help, -v, --version, -v aliases.
v6.0.0 2019-05-06
- App::WRT::Date
- Move month_name() in here from App::WRT, add tests.
- App::WRT::EntryStore:
- Hash file types for entries (directory or flatfile)
- Use keys of file type hash for complete list of entries.
- has_prop($entry, $property)
- is_dir($entry), is_file($entry), is_extant($entry)
- parent_of($entry)
- has_index($entry)
- Make EntryStore cache whether a file is a flatfile or a directory, as
well as its existence, in a single hash.
- Include index flatfiles in @source_files for use by has_index()
- Various tests.
- App::WRT::FileIO
- Still duplicates a bunch of shit from Util, so that needs sorted.
- App::WRT::Renderer
- Convert to a proper class.
- Add experimental FileIO class to use in Renderer (imperfect,
tricky, still thinking about this). The idea is to separate out the
concerns of reading and writing the filesystem.
- App::WRT
- Refactor display() and improve tests
- Use "@entries" instead of "@options" for clarity
- Handle entry names that might evaluate as false
- Test running display() without any params
- Rename expand_option() -> expand_alias(), refactor
- Use EntryStore::has_prop() to detect wrt-noexpand.prop
- year(), month(), entry() partially rewritten to use EntryStore
- year() should handle months which are a flatfile
- Refactor icon_markup() to use is_file() / is_dir() / is_extant(),
add tests.
- Add subtitle to feeds
- bin/wrt-ls is now a "modulino" with tests
- bin/display errors on non-existent entries
v5.0.0 2019-04-14
- Add bin/wrt-ls for listing entries in current archive
- Add bin/wrt-config for displaying configuration info
- Allow header tags with attributes
- Minor documentation cleanup
- Bump XML::Atom::SimpleFeed to 0.900; remove wrt-fcgi
- Concatenation instead of variable interpolation in HTML::tag()
- Remove hardcoded "public" from renderer directory path copying
- Remove unused feed_url param from wrt-init and example dir
- Remove an extraneous JSON->convert_blessed(1) call
- WRT::entry(): fix glitch with contents list for binfile_expr matches
- Correctly encode feed output - see https://p1k3.com/2018/5/28/
- Add App::WRT::Util::file_get_contents();
- Optionally cache included files in-memory
- Add EntryStore, a class for wrapping various methods for finding entry lists
- Refactor display()
- Use Carp for errors
- Remove old LaTeX markup stuff
- Add this Changes file
v5.0.0-alpha 2018-04-19
- Use 5 most recent entries for home page instead of latest month
- Remove accessor methods for instance variables / configuration
- Give absolute paths to imgsize() so it chills out on Cwd::getcwd() calls
- Remove local_path(), recent_month(), month_before, and feed_print_latest()
- Stop using a() in entry_markup()
- Cache get_date_entries_by_depth() results
- Swap out state vars for stashing things on $self in get_all_source_files()
- Add get_date_entries_by_depth()
- Tweak link_bar() behavior to retain link for current page
v4.3.0 2018-04-06
- Render feed for last feed_length day entries instead of for latest month
- Switch example config from p1k3.com to example.com urls
- feed_print() now takes a list of entries instead of a month
v4.2.2 2018-02-10
- Fix --config option to wrt-display & wrt-render-all
- Remove year list from linkbar
v4.2.1 2017-11-18
- Change url_root default to /
- Add url_root to topic link generator
v4.2.0 2017-11-18
- Improved documentation in shell utilities
- Make a copy of %default before blessing
- Document MethodSpit
- Document the overlay option, add an accessor method for it
- Use a logging callback to WRT::Renderer::render()
- Miscellaneous test cleanup
- Add publish_dir to example wrt.json
- Improve documentation
- Add $wrt->feed_alias and a .xml copy of same
v4.1.0 2017-11-15
- Add wrt-init for creating a skeleton project directory
- Die on missing template file
v4.0.1 2017-11-14
- Fix App::WRT::Markup require of WRT::Image
- Remove an unused dependency on Imager
v4.0.0 2017-11-14
- Rename WRT to App::WRT
- Add a license info
- Strip unused image size code from WRT::Image
- Add publish_dir config value, ensure that dir exists when rendering
- Add rendering tests
v3.5.0 2017-11-13
- wrt-render-all now handles /, /all, and /feed
- Migrate wrt wrapper utilities to posix shell
v3.4.2 2017-06-21
- Add [0-9] to acceptable sub-entry characters
v3.3.1 2017-06-19
- Die on attempting to include a directory
- Include datestamps in feed
v3.3.0 2017-04-03
- Add topic list to entries
- List topics in datestamp
- Clean up addprop output
- Allow `-` in entry names, use .prop for properties
- Simplify datestamps
- Add wrt-noexpand property
- Remove a sorta-extraneous trailing slash on contents
v3.0.0 2016-10-12
- Split wrt utility into git-style subcommands
- Support for includes, change root_dir semantics, add entry_dir
- addprop and findprop subcommands for dealing with entry properties
v2.0.0 2016-08-09
- Now called "wrt" instead of "display"
- Extract http_header stuff from WRT module
- Switch to wrt.json for configuration
- Add XML::Feed and CGI::Fast to dependencies
- Make wrt.fcgi work, more or less
- Escape braces in variable interpolation regexp
- Add --stdin flag