Commit Graph

549 Commits (e45671decb0eca5aab0c4da15476835df9abbcfc)

Author SHA1 Message Date
Joey Hess d991ccf134 use cgitemplate, remove misctemplate 2011-01-05 17:15:38 -04:00
Joey Hess 885bff7239 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.
2011-01-05 16:23:05 -04:00
Joey Hess c91b39fdb5 factored out an urlabs from aggregate and cgi 2011-01-05 16:18:25 -04:00
Joey Hess c11b1226ca oops 2011-01-05 15:43:03 -04:00
Joey Hess 6b5b0a3282 Temporarily revert one part of the multiple url support in the last release. Non-edit pages are now back to having `<base>` set to the site's main url. 2011-01-05 15:01:31 -04:00
Joey Hess 4fb26f4e60 Add a second parameter to the rcs_diff hook, and avoid bloating memory reading in enormous commits. 2010-12-29 19:58:49 -04:00
Simon McVittie d4704d8bbb urlto: simplify the to='' special case to allow it to be made absolute 2010-12-25 22:54:54 +00:00
Simon McVittie eb58b51bb0 checkconfig: don't warn if $config{url} is undef
The warning was "Use of uninitialized value $IkiWiki::config{"url"} in
length" when running a modified t/tag.t.
2010-12-25 21:35:06 +00:00
intrigeri b2a2246bac Enable HTML::Template's parent_global_vars option.
Else setting parameters that do not appear in the template (such as
title_overridden) fails horribly.
2010-12-22 19:21:41 +01:00
Joey Hess 53d466a07f second parameter of urlto is optional 2010-11-29 14:59:48 -04:00
Joey Hess 0ae1e4cc0e Merge remote branch 'smcv/ready/localurl' 2010-11-29 14:43:57 -04:00
Joey Hess 93d77673e4 Merge remote branch 'blipvert/fixes' 2010-11-28 13:35:52 -04:00
Craig Lennox e4c6f5bcbe check that user is defined before regexp compare 2010-11-28 10:51:53 -05:00
Simon McVittie d01334b8e9 If cgiurl is set, but url isn't, use an absolute $local_cgiurl 2010-11-23 22:21:31 +00:00
Simon McVittie 4c224ae143 urlto(): if $from is undef, return a local path, not an absolute URL 2010-11-22 23:47:05 +00:00
Simon McVittie f032bce791 baseurl(): return local path, not absolute URL, if the argument is undef 2010-11-22 23:47:04 +00:00
Simon McVittie 6be4e6d1a5 cgiurl(): return a locally-valid path by default
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.
2010-11-22 23:47:04 +00:00
Simon McVittie 200c599dca cgiurl: don't append "?" if there are no parameters
This means we can use cgiurl() instead of $config{cgiurl} if an absolute
URL isn't desired.
2010-11-22 23:16:59 +00:00
Simon McVittie 8f64c69e08 Compute local paths to the top of the wiki
"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 '/'.
2010-11-22 23:13:52 +00:00
Joey Hess b3bca318ef avoid an unnecessary hash lookup 2010-11-20 12:25:52 -04:00
Simon McVittie 55515050e1 make use of precompiled regex objects 2010-11-20 00:02:49 +00:00
Simon McVittie 788105e2a7 glob2re: return a precompiled, anchored case-insensitive regex
In practice every use of glob2re uses it like that.
2010-11-19 23:59:04 +00:00
Simon McVittie 321bf7ec19 match_glob: streamline glob cache slightly 2010-11-19 23:46:46 +00:00
Kathryn Andersen ff0e244701 Improve the speed of match_glob 2010-11-19 23:46:46 +00:00
Joey Hess 0cc2a36f59 bugfix 2010-10-23 16:47:19 -04:00
Joey Hess 7e8064e9fa add a hint that creation_month takes a number, not a month name 2010-10-20 19:07:46 -04:00
Joey Hess 4a75dee651 avoid perl warning when passed bad non-numeric year/month/day 2010-10-20 18:52:46 -04:00
Joey Hess faf94b5787 refactor check_canchange into IkiWiki library 2010-10-08 18:09:28 -04:00
Joey Hess 84111d96c4 make revert hooks optional
I removed the IkiWiki::rcs_ stubs for the revert hooks. Instead
recentchanges tests to see if the hooks are available and calls
them directly.
2010-10-08 17:54:12 -04:00
Joey Hess 238e8b95a5 convert rcs_revert to only stage the reversion 2010-10-06 15:08:12 -04:00
Joey Hess 237ea79d71 remove rcs_showpatch 2010-10-06 14:39:10 -04:00
Joey Hess a29f169b1e indentation 2010-10-04 16:34:33 -04:00
Peter Gammie 8024a2636f Complete rcs_preprevert and lightly test. 2010-10-01 14:06:00 +10:00
Peter Gammie acecbad0ff First cut at the revert plugin. 2010-09-29 15:14:19 +10:00
Joey Hess e22b18aabc template_depends: throw nice error message when template cannot be found
plovs reported a crash when templates were not installed properly,
with a non-useful error about the template object not being defined.
I've audited all uses of template_depends(), and template(), and it makes
sense for them to throw an error if the template cannot be found. All code
with a user-supplied template catches errors already, to handle template
parse failures.

It did not make sense for template_file to throw errors, as some code uses
it to probe if a template file is available.
2010-09-27 15:58:01 -04:00
Joey Hess 2df0999e40 revert check_canedit nosubs thing
Abstraction violation. I now think the problem should be treated as a bug
in httpauth.
2010-08-30 18:31:56 -04:00
Joey Hess 8030ecac02 Receive: avoid hiding check_canedit error messages
Avoid the generic "you are not allowed to change" message,
and instead allow check_canedit to propigate out useful error messages.

Went back to calling check_canedit in fatal mode, but added a parameter to
avoid calling the troublesome subs that might cause a login attempt.
2010-08-30 17:58:00 -04:00
Joey Hess 991d01f5b5 optimise single dot detection
Since it already looks for things starting with a dot, I was able to avoid
matching against the string twice.

This also fixes a minor bug; $from may not be defined. Avoid uninitialized
value warnings in this case.
2010-08-30 13:36:00 -04:00
Giuseppe Bilotta c4d4cad3be Single dot in pagespec translates to 'current page' 2010-08-30 13:25:53 -04:00
Joey Hess 5d88146861 Fixes a bug that prevented matching deleted pages when using the page() PageSpec. 2010-08-04 08:25:10 -04:00
Joey Hess c401b6958a Add new disable hook, allowing plugins to perform cleanup after they have been disabled. 2010-07-26 16:33:42 -04:00
Joey Hess 1b0bef6d49 template: Fix dependency tracking. Broken in version 3.20100427.
template_depends was adding a dependency on the source filename,
instead of on the page name when a template is a page. Such a
dependency doesn't work.
2010-07-23 14:14:25 -04:00
Joey Hess b45688e34e Merge remote branch 'intrigeri/po' 2010-07-18 19:35:16 -04:00
Joey Hess eeb8e11d65 remove dead case 2010-07-18 17:47:36 -04:00
Joey Hess e674bb1445 fix other 2 cases of conflicting destdir files
Cleanly fixed case where destdir file failed to be written because there
was a directory with the same name. This can be detected with no extra
system calls, and dealt with by finding all pages that wrote files
inside the directory, and removing them and the directory.

The other, inverse case would be expensive to detect in will_render,
since it would need to check each parent directory of the file to see
if the directory is really a conflicting file. But prep_writefile
already does a similar scan for symlinks in the path, so I added code
there to remove the conflicting file. This fix assumes that the file
is written using writefile, and not some other means (but using other means
would be a security hole too, so hopefully nothing does).
2010-07-18 17:38:35 -04:00
Joey Hess 2bf3a6edbb check oldrenderedfiles too
Handles the case where foo.mdwn is moved too foo/index.html
2010-07-18 16:47:52 -04:00
Joey Hess 773db5a35e avoid error if two source files render the same destination file
There are two sub-caces. If both source files still exist, the winner that
renders the destination file is undefined. If one source file is deleted
and the other added, in a refresh, the new file will take over the
destination file.
2010-07-18 16:28:39 -04:00
intrigeri ff8f6cd6b2 Make the rationale clearer. 2010-07-11 11:35:37 +02:00
intrigeri 4a1cb092ba Revert po vs. template kludges.
This reverts commits dcd57dd5c9,
d4136aea8a and
d877b9644b.
2010-07-11 11:03:41 +02:00
intrigeri c99d26030e Merge remote branch 'upstream/master' into prv/po
Conflicts:
	IkiWiki/Plugin/po.pm
	doc/plugins/po.mdwn
2010-07-11 10:46:18 +02:00