add cgi_overload_message
add cgi_overload_delay tunable Try to avoid a situation in which so many ikiwiki cgi wrapper programs are running, all waiting on some long-running thing like a site rebuild, that it prevents the web server from doing anything else. The current approach only avoids this problem for GET requests; if multiple cgi's run GETs on a site at the same time, one will display a "please wait" page for a configurable number of seconds, which then redirects to retry. To enable this protection, set cgi_overload_delay to the number of seconds to wait. This is not enabled by default.
passwordauth: Fix url in password recovery email to be absolute. This got broken when cgiurl began often returning a relative url. Added a cgiurl_abs for the things that need a guaranteed absolute cgiurl.
fix typo in LC_TIME locale lookup
calendar, prettydate: Fix strftime encoding bug strftime is a C function, it does not return decoded utf8. Several places in ikiwiki manually decoded it, but at least two forgot to. Also, strftime might not return even encoded utf8, if LC_TIME is set to a non-utf8 value. Went ahead and supported decoding whatever encoding it uses. The remaining direct calls to strftime() are all ones that first set LC_TIME=C, in order to get times that are not for human display.
backlink(.) should behave like backlink(<current page>) Since commit c4d4cad3befbbd444d094cbeb0b6ebba3910a025, the single dot in a pagespec can be used to mean the current page. While this worked correctly in link() it didn't work in backlink(). Fix this by explicitly checking the testpage in backlink against . and replacing it with the current location if necessary.
Add path and path_natural sort orders (cherry picked from commit 272e0b2f17c33c625b494b07f581da400066a216)
Support private, group, public as values for umask These are equivalent to octal 077, 027 and 022, but easier to get from YAML. Signed-off-by: Simon McVittie <smcv@debian.org>
Avoid using named capture groups in heredoc code for oldperl compatability. Also reordered heredoc part of regexp for consistency.
Preserve mixed case in page creation links, and when creating a page whose title is mixed case, allow selecting between the mixed case and all lower-case names.
Support svg as a inlinable image type svg images can be included on a page by simply linking to them, or by using the img directive. Note that sanitizing svg files is still not addressed.
html5 is not experimental anymore. But not the default either, quite yet.
added support for here-docs and ''' in parameters.
Yaml formatted setup files are now produced by default This has been a while coming. It turns out that non-excutable setup files have a number of benefits. Also, I find YAML setup files easier to edit myself, and I suspect many users will prefer not needing to deal with perl syntax.
Add timezone setting in setup file. This alows time zone to be configured via the web.
avoid uninitlized value when urlto is called with 1 parameter and no url is configured This brings back the old behavior before urlto changes for this case. It will generate a path like "/foo", which is not right, but is the same as is generated by urlto($page, "", 1) -- which is what the code that now uses 1-parameter urlto used to use.
Add add_literal_underlay and use it for the transient underlay This means we don't need to import Cwd and use abs_path.
use cgitemplate, remove misctemplate
make urlabs a noop if base url is not provided This allows urlabs($foo, $config{url}) to be used safely, even if no url is configured.
factored out an urlabs from aggregate and cgi