aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki.pm
Commit message (Collapse)AuthorAge
* second parameter of urlto is optionalJoey Hess2010-11-29
|
* Merge remote branch 'smcv/ready/localurl'Joey Hess2010-11-29
|\
| * If cgiurl is set, but url isn't, use an absolute $local_cgiurlSimon McVittie2010-11-23
| |
| * urlto(): if $from is undef, return a local path, not an absolute URLSimon McVittie2010-11-22
| |
| * baseurl(): return local path, not absolute URL, if the argument is undefSimon McVittie2010-11-22
| |
| * cgiurl(): return a locally-valid path by defaultSimon McVittie2010-11-22
| | | | | | | | | | | | 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.
| * cgiurl: don't append "?" if there are no parametersSimon McVittie2010-11-22
| | | | | | | | | | This means we can use cgiurl() instead of $config{cgiurl} if an absolute URL isn't desired.
| * Compute local paths to the top of the wikiSimon McVittie2010-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "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 '/'.
* | Merge remote branch 'blipvert/fixes'Joey Hess2010-11-28
|\ \ | |/ |/|
| * check that user is defined before regexp compareCraig Lennox2010-11-28
| |
* | avoid an unnecessary hash lookupJoey Hess2010-11-20
| |
* | make use of precompiled regex objectsSimon McVittie2010-11-20
| |
* | glob2re: return a precompiled, anchored case-insensitive regexSimon McVittie2010-11-19
| | | | | | | | In practice every use of glob2re uses it like that.
* | match_glob: streamline glob cache slightlySimon McVittie2010-11-19
| |
* | Improve the speed of match_globKathryn Andersen2010-11-19
|/
* bugfixJoey Hess2010-10-23
|
* add a hint that creation_month takes a number, not a month nameJoey Hess2010-10-20
|
* avoid perl warning when passed bad non-numeric year/month/dayJoey Hess2010-10-20
|
* refactor check_canchange into IkiWiki libraryJoey Hess2010-10-08
|
* make revert hooks optionalJoey Hess2010-10-08
| | | | | | I removed the IkiWiki::rcs_ stubs for the revert hooks. Instead recentchanges tests to see if the hooks are available and calls them directly.
* convert rcs_revert to only stage the reversionJoey Hess2010-10-06
|
* remove rcs_showpatchJoey Hess2010-10-06
|
* indentationJoey Hess2010-10-04
|
* Complete rcs_preprevert and lightly test.Peter Gammie2010-10-01
|
* First cut at the revert plugin.Peter Gammie2010-09-29
|
* template_depends: throw nice error message when template cannot be foundJoey Hess2010-09-27
| | | | | | | | | | | | 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.
* revert check_canedit nosubs thingJoey Hess2010-08-30
| | | | | Abstraction violation. I now think the problem should be treated as a bug in httpauth.
* Receive: avoid hiding check_canedit error messagesJoey Hess2010-08-30
| | | | | | | | 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.
* optimise single dot detectionJoey Hess2010-08-30
| | | | | | | | 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.
* Single dot in pagespec translates to 'current page'Giuseppe Bilotta2010-08-30
|
* Fixes a bug that prevented matching deleted pages when using the page() ↵Joey Hess2010-08-04
| | | | PageSpec.
* Add new disable hook, allowing plugins to perform cleanup after they have ↵Joey Hess2010-07-26
| | | | been disabled.
* template: Fix dependency tracking. Broken in version 3.20100427.Joey Hess2010-07-23
| | | | | | 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.
* Merge remote branch 'intrigeri/po'Joey Hess2010-07-18
|\
| * Make the rationale clearer.intrigeri2010-07-11
| |
| * Revert po vs. template kludges.intrigeri2010-07-11
| | | | | | | | | | | | This reverts commits dcd57dd5c9f3265bb7a78a5696b90976698c43aa, d4136aea8aa8968d2cd87b40e8d85301a3549323 and d877b9644bcfbbfc5eaf3f7fc13cb96ecda946c9.
| * Merge remote branch 'upstream/master' into prv/pointrigeri2010-07-11
| |\ | | | | | | | | | | | | | | | Conflicts: IkiWiki/Plugin/po.pm doc/plugins/po.mdwn
| * | Add a fullpage arg to filter.intrigeri2010-06-29
| | | | | | | | | | | | | | | | | | | | | Set it to true every time IkiWiki::filter is called on a full page's content. This is a much nicer solution, for the po plugin, than previous whitelisting using caller().
| * | Merge remote branch 'upstream/master' into prv/pointrigeri2010-06-25
| |\ \ | | | | | | | | | | | | | | | | Conflicts: IkiWiki/Plugin/po.pm
| * | | moved selflink test to its own isselflink (overridable) subintrigeri2010-01-09
| | | |
* | | | remove dead caseJoey Hess2010-07-18
| | | |
* | | | fix other 2 cases of conflicting destdir filesJoey Hess2010-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* | | | check oldrenderedfiles tooJoey Hess2010-07-18
| | | | | | | | | | | | | | | | Handles the case where foo.mdwn is moved too foo/index.html
* | | | avoid error if two source files render the same destination fileJoey Hess2010-07-18
| |_|/ |/| | | | | | | | | | | | | | | | | 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.
* | | git: Added git_wrapper_background_command option. Can be used to eg, make ↵Joey Hess2010-07-01
| |/ |/| | | | | the git wrapper push to github in the background after ikiwiki runs.
* | rcs_commit and rcs_commit_staged api changesJoey Hess2010-06-23
| | | | | | | | | | | | | | | | | | | | | | Using named parameters for these is overdue. Passing the session in a parameter instead of passing username and IP separately will later allow storing other session info, like username or part of the email. Note that these functions are not part of the exported API, and the prototype change will catch (most) skew, so I am not changing API versions. Any third-party plugins that call them will need updated though.
* | websetup: Allow enabling plugins listed in disable_plugins.Joey Hess2010-06-13
| | | | | | | | | | | | | | | | The bug here was that disabling a plugin included thru goodstuff, like htmlscrubber, caused it to be added to disable_plugins, and those plugins were never loaded, so could not be re-enabled. Fix by allowing them to be force loaded when appropriate. (Also that allows disabled plugins to still record their setup options when dumping a setup file.)
* | When editing a page, show that page's sidebar. (Thanks, privat)Joey Hess2010-06-09
| |
* | Fix support for globbing in tagged() pagespecs.Joey Hess2010-06-09
| | | | | | | | | | | | | | | | | | The linktype check was being done on the relativised link target, but %typedlinks uses the same link targets as %links, so that didn't work. I think the bug only appeared when tagbase was not set. This bugfix also let me factor out the common typedlink checking code.
* | creation_day() etc use local time, not gmtime.Joey Hess2010-05-31
| | | | | | | | | | | | | | | | To match calendars, which use local time. Particularly important at the end of the month. I checked the history, and there seemed no good rationalle for the pagespecs to use gmtime.