| Commit message (Collapse) | Author | Age |
|
|
|
| |
querying git to find the files that were changed, rather than looking at the work tree. Not enabled by default as it can break some setups where not all files get committed to git.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I have benchmarked the pagename() call this avoids taking up to 2 seconds
for a loadindex in a large wiki. The total loadindex for that wiki was
6.46s, so this is a significant improvment.
Even on a smaller site, this reduces the refresh time from 1.69 to 1.52
seconds.
The only breakage risk here is that pagename() can change the page name
it calculates due to setup changes. But in the case of a setup change, the
whole site is rebuilt. So the cached page name is not used in that
case.
|
|
|
|
|
|
|
|
|
| |
used instead. Can speed up refreshes by nearly 50% in some circumstances.
I *think* this is ok, at least it results in close to the same index being
saved as before. The difference is that plugins that have a pagestate of {}
have that recorded this way, while with the tight loop, the key for the
plugin in not copied in that case. I cannot see how this could matter.
|
| |
|
| |
|
| |
|
|
|
|
| |
of spammers.
|
|
|
|
|
| |
This allows e.g. the meta command to be used to introduce DublinCore
metadata.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This got broken when cgiurl began often returning a relative url.
Added a cgiurl_abs for the things that need a guaranteed absolute cgiurl.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
(cherry picked from commit 272e0b2f17c33c625b494b07f581da400066a216)
|
|
|
|
|
|
|
| |
These are equivalent to octal 077, 027 and 022, but easier to get from
YAML.
Signed-off-by: Simon McVittie <smcv@debian.org>
|
|
|
|
| |
Also reordered heredoc part of regexp for consistency.
|
|
|
|
| |
title is mixed case, allow selecting between the mixed case and all lower-case names.
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
via the web.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This means we don't need to import Cwd and use abs_path.
|
| |
|
|
|
|
|
| |
This allows urlabs($foo, $config{url}) to be used safely, even if
no url is configured.
|
| |
|
| |
|
|
|
|
| |
Non-edit pages are now back to having `<base>` set to the site's main url.
|
|
|
|
| |
reading in enormous commits.
|
| |
|
|
|
|
|
| |
The warning was "Use of uninitialized value $IkiWiki::config{"url"} in
length" when running a modified t/tag.t.
|
|
|
|
|
| |
Else setting parameters that do not appear in the template (such as
title_overridden) fails horribly.
|
| |
|
|\ |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
To get an absolute version you can use cgiurl(cgiurl => $config{cgiurl}).
The only place in IkiWiki that seems to actually need an absolute URL
is the openid plugin, and that already uses the named parameter.
|
| |
| |
| |
| |
| | |
This means we can use cgiurl() instead of $config{cgiurl} if an absolute
URL isn't desired.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
"local" here is short for "locally valid" - the idea is that we can use
URLs that are relative in the sense of only having the path part, but
absolute in the sense that they start from '/', such as
'/~smcv/ikiwiki.cgi'. There's no particularly good name that I can find
for these between-relative-and-absolute URLs.
They're useful because in the common case where the pages and the CGI
script have the same scheme and authority component, each page is
identified by the same locally-valid URL when linking from any page or
from the CGI, without hard-coding a choice between HTTP and HTTPS, or
between multiple virtual hostnames with the same path layout. As such,
we can use them in many situations that previously used an absolute URL.
If there's no suitable semi-absolute value for local_url (for instance,
if your pages and your CGI reside on different servers), we can just fall
back to using the absolute URL. I append '/' because $config{url} doesn't
end with '/', but the common case for local_url (on all branchable.com
sites, for instance) is that it's just '/'.
|
|\ \
| |/
|/| |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
In practice every use of glob2re uses it like that.
|
| | |
|
|/ |
|
| |
|