aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/aggregate.pm
Commit message (Expand)AuthorAge
* protect $@ whenever a block using $@ is non-trivial•••As noted in the Try::Tiny man page, eval/$@ can be quite awkward in corner cases, because $@ has the same properties and problems as C's errno. While writing a regression test for definetemplate in which it couldn't find an appropriate template, I received <span class="error">Error: failed to process template <span class="createlink">deftmpl</span> </span> instead of the intended <span class="error">Error: failed to process template <span class="createlink">deftmpl</span> template deftmpl not found</span> which turned out to be because the "catch"-analogous block called gettext before it used $@, and gettext can call define_gettext, which uses eval. This commit alters all current "catch"-like blocks that use $@, except those that just do trivial things with $@ (string interpolation, string concatenation) and call a function (die, error, print, etc.) Simon McVittie2014-02-21
* aggregrate: Fix several bugs in handling of empty and colliding titles when g...Joey Hess2013-12-28
* cookiejar is now a core config setting.Amitai Schlair2013-08-03
* Honor proxy env vars and reliably honor cookiejar.Amitai Schlair2013-07-27
* Show author in addition to feedname, if different.•••While here, mollify http://validator.w3.org/feed/ and s/dcterms:creator/dc:creator/g, which happens to make rss2email see and do nice things with authors. Amitai Schlair2013-07-17
* aggregate: When run with --aggregate, if an aggregation is already running, d...•••This way, if a previous aggregation job is running, we don't add additional load doing work that job will do anyway. Joey Hess2012-12-27
* prune: do not prune beyond an optional base directory, and add a test•••Previously, prune("wiki/srcdir/sandbox/test.mdwn") could delete srcdir or even wiki, if they happened to be empty. This is rarely what you want: there's usually some base directory (destdir, srcdir, transientdir or another subdirectory of wikistatedir) beyond which you do not want to delete. Simon McVittie2012-04-07
* better long filename detection method•••Let's just try to write and fall back to a short ugly filename on error. Joey Hess2011-06-10
* aggregate: Improve checking for too long aggregated filenames.•••Two problems fixed: 1. Files are written with a .ikiwiki-new suffix, which has to be taken into account. 2. Need to count length of bytes, not of unicode characters. Joey Hess2011-06-10
* aggregate, pinger: Use Net::INET6Glue if available to support making ipv6 con...•••Making outgoing ipv6 connections for openid auth is still broken; the glue module does not seem to solve that, so I did not make openid use it. Joey Hess2011-05-09
* fix var nameJoey Hess2011-03-21
* comment about lockingJoey Hess2011-03-21
* call aggregate checkconfig last•••Since the plugin abuses the checkconfig hook to launch aggregation when in --aggregate mode, it should give other plugins that have checkconfig hooks a chance to run before they are possibly used in rendering the aggregated content. Joey Hess2011-03-21
* aggregate: Read cookies from ~/.ikiwiki/cookies by default. Also, the cookiej...Joey Hess2011-03-21
* minor optimisation•••Assume the aggregated content is only going to be in one of the directories, and so stop if it's successfully removed from the transientdir. Joey Hess2011-02-09
* Put newly aggregated pages in the transient underlaySimon McVittie2011-01-07
* factored out an urlabs from aggregate and cgiJoey Hess2011-01-05
* avoid fatal error if aggregate page template could not be found•••That template is user-controlled. Joey Hess2010-09-27
* needsbuild hook interface changed; the hooks should now return the modified a...Joey Hess2010-09-07
* revert bugfix•••Not needed; lastupdate will be 0 for new feeds. Joey Hess2010-07-06
* bugfixJoey Hess2010-07-06
* aggregate: Write timestamp next aggregation can happen to .ikiwiki/aggregatet...Joey Hess2010-07-06
* setup file orderingJoey Hess2010-02-12
* add section informationJoey Hess2010-02-12
* aggregate: Avoid resetting ctime when an item md5 changes.•••Besides being wrong to do, this could lead to the wrong item being expired, as follows: If B is added and at the same time A is changed, then A's ctime may be set to the current time, while B's is set to its creation time. Thus the new item, A, is incorrectly removed as older. (This interacted especially badly with the bug fixed by 90b4d079605b72bb50d1da41402d994960e10937.) Joey Hess2009-06-12
* aggregate: Fix storing of changed md5.•••The aggregate state merge code neglected to merge changes to the md5 field of an item. Therefore, if an item's md5 changed after initial aggregation, it would be updated, and rewritten, each time thereafter. This was wasteful and indirectly led to some expire problems. Joey Hess2009-06-12
* Work around XML::Atom strangeness that results in double-encoded posts•••See [[bugs/Aggregated_Atom_feeds_are_double-encoded]]. By default, XML::Atom outputs strings of UTF-8 bytes with the Perl UTF8 flag stripped off, which IkiWiki assumes to be Latin-1 and re-encodes as UTF-8 on output. XML::Feed does not currently (0.41-1) set the magic variable to change this behaviour (I've filed a bug on CPAN), but IkiWiki can usefully set the same variable as a workaround. Simon McVittie2009-02-03
* finalise version 3.00 of the plugin apiJoey Hess2008-12-23
* enable aggregate_internal by defaultJoey Hess2008-12-23
* avoid uninitialized value•••This can happen when a new field, such as the new lasttry, is added. Joey Hess2008-12-19
* aggregate: If a feed fails to be downloaded, try again immediatly next time a...Joey Hess2008-12-17
* Coding style change: Remove explcit vim folding markers.Joey Hess2008-12-17
* avoid uninitialized value warningJoey Hess2008-11-18
* improve escaping of wikilinks and preprocessor directives•••The old method failed for '[' x 3. Joey Hess2008-11-18
* call decode_utf8 inside eval•••holger reported that decode_utf8 was crashing with perl 5.8.8. Earlier, I thought that passing 0 to the function avoided this with old perls, but that was apparently not enough, it still crashes. So, put it inside the eval, so we can at least recover from it crashing. Joey Hess2008-11-17
* aggregate: Try to query XML::Feed for the base url when derelevatising links....Joey Hess2008-11-06
* fix relativedate timezone inclusion•••The machine parseable date needs to include a timezone. Also, simplified the interface for date display. Joey Hess2008-10-19
* mark up date so relativedate will workJoey Hess2008-10-19
* aggregate: Avoid bug that caused immediate expiration of items with a date in...Joey Hess2008-10-16
* Removed the pagefile function, which was confusingly close in name to•••newpagefile. Note that newpagefile is not used here (or in recentchanges) because the internal use pages they generate are transient and unlikely to benefit from being put each in their own subdir. Joey Hess2008-09-29
* Export pagetitle, titlepage, linkpage.Joey Hess2008-09-27
* typoJoey Hess2008-09-27
* aggregate: Avoid uninitialized value warnings for pages with no recorded ctime.•••I saw this in the wild, apparently a page was not present on disk, but was in the aggregate db, and not marked as expired either. Not sure how that happened, but such pages should get marked as expired since they have an effectively zero ctime. Joey Hess2008-09-25
* fix check for nonexistant contentJoey Hess2008-09-17
* store ctime for use by expiry code•••The expiry code does need to make sure to sort in ctime order, even if expiring by count, so it expires the right ones. Joey Hess2008-09-17
* aggregate: Support atom feeds with only a summary element, and no content ele...Joey Hess2008-09-17
* aggregate: Allow expirecount to work on the first pass. (expireage still need...Joey Hess2008-09-17
* add plugin safe/rebuild info (part 1 of 2)•••too many plugins.. brain exploding.. Joey Hess2008-08-03
* remove default values in getsetup•••They were a bit confusing, since they did not actually set the default, and example values are sufficient. Joey Hess2008-07-26
* turn booleans into questionsJoey Hess2008-07-26