summaryrefslogtreecommitdiff
path: root/IkiWiki.pm
AgeCommit message (Collapse)Author
2010-08-04Fixes a bug that prevented matching deleted pages when using the page() ↵Joey Hess
PageSpec.
2010-07-26Add new disable hook, allowing plugins to perform cleanup after they have ↵Joey Hess
been disabled.
2010-07-23template: Fix dependency tracking. Broken in version 3.20100427.Joey Hess
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-18Merge remote branch 'intrigeri/po'Joey Hess
2010-07-18remove dead caseJoey Hess
2010-07-18fix other 2 cases of conflicting destdir filesJoey Hess
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-18check oldrenderedfiles tooJoey Hess
Handles the case where foo.mdwn is moved too foo/index.html
2010-07-18avoid error if two source files render the same destination fileJoey Hess
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-11Make the rationale clearer.intrigeri
2010-07-11Revert po vs. template kludges.intrigeri
This reverts commits dcd57dd5c9f3265bb7a78a5696b90976698c43aa, d4136aea8aa8968d2cd87b40e8d85301a3549323 and d877b9644bcfbbfc5eaf3f7fc13cb96ecda946c9.
2010-07-11Merge remote branch 'upstream/master' into prv/pointrigeri
Conflicts: IkiWiki/Plugin/po.pm doc/plugins/po.mdwn
2010-07-01git: Added git_wrapper_background_command option. Can be used to eg, make ↵Joey Hess
the git wrapper push to github in the background after ikiwiki runs.
2010-06-29Add a fullpage arg to filter.intrigeri
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().
2010-06-25Merge remote branch 'upstream/master' into prv/pointrigeri
Conflicts: IkiWiki/Plugin/po.pm
2010-06-23rcs_commit and rcs_commit_staged api changesJoey Hess
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.
2010-06-13websetup: Allow enabling plugins listed in disable_plugins.Joey Hess
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.)
2010-06-09When editing a page, show that page's sidebar. (Thanks, privat)Joey Hess
2010-06-09Fix support for globbing in tagged() pagespecs.Joey Hess
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.
2010-05-31creation_day() etc use local time, not gmtime.Joey Hess
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.
2010-05-18Fix a bug that prevented matching deleted comments, and so did not update ↵Joey Hess
pages that had contained them. Problem is that by the time rendering calls render_dependent, %pagesources has had deleted files removed from it. So match_comment's lookup of files in there to see if they had the _comment extension failed. I had to introduce a hash that temporarily holds filenames of deleted pages to fix this. Note that unlike comment(), internal() had avoided this pitfall by being defined to match both internal and non-internal pages.
2010-05-14allow misctemplate callers to pass params to suppress actions etcJoey Hess
Suppress disiplay of small search for on search results page, and of Prefrences link on prefs page.
2010-05-14refactor template actionsJoey Hess
2010-05-14enable action bar on misctemplatesJoey Hess
So RecentChanges shows on the action bar there, convert recentchanges to use new pageactions hook, with compatability code to avoid breaking old templates.
2010-05-08Use xhtml friendly pubdate setting.Joey Hess
2010-05-07fix undef warning when page() tests a deleted fileJoey Hess
2010-05-06fix param passing to match_globJoey Hess
2010-05-06move meat of type checking to match_page where it belongsJoey Hess
2010-05-05refactorJoey Hess
2010-05-05rename ispage variableJoey Hess
2010-05-05remove unused indexlink function and template variableJoey Hess
2010-05-05remove misc.tmpl checkingJoey Hess
Turns out that users with a modified page.tmpl need to modify it on upgrade, at least to add the FORCEBASEURL (so edit preview works), so there is no point in trying to retain compatability.
2010-05-05allow search form visibility to be controlled on the templateJoey Hess
hide extrafooter from misctemplate display per default
2010-05-05no more misc.tmplJoey Hess
* Removed misc.tmpl. Now to theme ikiwiki, you only need to customise a single template, page.tmpl. * misc.tmpl will, however, still be read if a locally modified version exists. This is to avoid forcing users to update page.tmpl right now.
2010-05-02Add parameter to displaytime to specify that it is a pubdate, and in html5 ↵Joey Hess
mode, use time tag.
2010-05-01set html5 option as advanced for nowJoey Hess
2010-05-01html5 optionJoey Hess
* Ikiwiki can be configured to generate html5 instead of the default xhtml 1.0. The html5 output mode is experimental, not yet fully standards compliant, and will be subject to rapid change.
2010-04-30no need to use HTML::EntitiesJoey Hess
That module is unused now. Long long ago, it used to be used to encode data in the index. Checked all modules, and every module that uses it imports it.
2010-04-28TMPL_INCLUDE re-enabled for templates read from the templatedir. (But not ↵Joey Hess
in-wiki templates.)
2010-04-26Add page() PageSpec, which is like glob() but matches only pages, not other ↵Joey Hess
files.
2010-04-26Fix removal of rendered files in rebuild mode.Joey Hess
Needed to handle the move of the .js files into ikiwiki/, but also this is a longstanding bug. Old pagemtime is not remembered in rebuild mode, and changing that would need a lot of changes. So instead, loop on pagectime, which is remembered. Change to remembering old pagesources info in rebuild mode. This seems safe enough.
2010-04-24reword templatedir descriptionJoey Hess
2010-04-24add support for mass dependenciesJoey Hess
Registered by passing "" as page name to add_depends.
2010-04-24bugfixJoey Hess
2010-04-24template() - return params in list contextJoey Hess
I forgot CGI::Formbuilder's horrible interface that needs template parameters instead of a constructed object.
2010-04-24bugfixJoey Hess
2010-04-23fix return of tpageJoey Hess
2010-04-23allow template pages to not be under templates/Joey Hess
2010-04-23allow a bare page name to be specified as a templateJoey Hess
2010-04-22refactor to remove template_paramsJoey Hess
template_file will be kept separate, since it needs to be memoized
2010-04-22look for templates in srcdir and underlays, firstJoey Hess
This entailed changing template_params; it no longer takes the template filename as its first parameter. Add template_depends to api and replace calls to template() with template_depends() in appropriate places, where a dependency should be added on the template. Other plugins don't use template(), so will need further work. Also, includes are disabled for security. Enabling includes only when using templates from the templatedir would be nice, but would add a lot of complexity to the implementation.