summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/inline.pm
AgeCommit message (Collapse)Author
2010-09-27template_depends: throw nice error message when template cannot be foundJoey Hess
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-13revert accidentially committed changeJoey Hess
2010-09-10Pass array of names of files that have been deleted to needsbuild hook as ↵Joey Hess
second parameter, to allow for plugins that needs access to this information earlier than the delete hook.
2010-05-06inline: Call indexhtml when inlining internal pages, so their text can be ↵Joey Hess
indexed for searching.
2010-05-02adapt comment.tmpl to html5Joey Hess
Note that I put comment-header in a <header> despite it being below the comment. Using a <footer> would be confusing given the class name. Also, the content is semantically closer to a header than a footer.
2010-05-02Add parameter to displaytime to specify that it is a pubdate, and in html5 ↵Joey Hess
mode, use time tag.
2010-04-23improved error messageJoey Hess
2010-04-23use same error string as template.pm doesJoey Hess
2010-04-23fix logicJoey Hess
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.
2010-04-15disable feeds in raw modeJoey Hess
2010-04-06HTML-encode meta title, description, guid on output, but not in the pagestateSimon McVittie
This makes them consistent with the rest of the meta keys. A wiki rebuild will be needed on upgrade to this version; until the wiki is rebuilt, double-escaping will occur in the titles of pages that have not changed.
2010-02-11Group related plugins into sections in the setup file, and drop unused rcs ↵Joey Hess
plugins from the setup file.
2010-01-04inline: Avoid showing edit links if page editing is disabled. (Sjoerd)Joey Hess
2010-01-02Fix several places that did not properly handle capitalization of the ↵Joey Hess
discussionpage setting. Specifically, fixes discussion actions on discussion pages, and unbreaks the opendiscussion plugin.
2010-01-01inline: Fix bug that limited displayed pages when feedshow was specified w/o ↵Joey Hess
show.
2009-11-30inline: Avoid using %links to test for page existenceJoey Hess
%links is populated even for just-deleted pages, so %pagesources should be used for such tests instead.
2009-11-17inline: Use caching of inlined pages to speed up builds of inlines that ↵Joey Hess
include feeds. Speedup of about 25% for small inlines; could be much larger for inlines of many, or complex pages. Not bloating memory with excessive memoization data was the key to this. The method chosen does not squeeze out every erg of speed possible when inlines are nested, but that's rare. It uses less memory than other optimisation hacks (I'm looking at you, f937c1fb8074a512d8bb788fa275f5e90595cd47 !) already used in inline.pm.
2009-11-13inline: Fix display of all pages when archive=yes or show=0 are used.Joey Hess
2009-11-13inline: Allow direct inclusion of non-page files in raw mode.Joey Hess
2009-11-13inline: Do not generated feeds for nested inlines.Joey Hess
My experience is that when inlines are nested, the old behavior of generating feeds for the nested inlines was never really desired. Since the feeds were numbered sequentially, the numbers could easily change, and it did not make sense to subscribe to or use those feeds. And generating those nested feeds often meant a lot of unnecessary calculation, and data being written. So, I dropped them. Looking back, nested feeds originally were a free side effect of properly handing multiple feeds on one page. Of course, that is still supported.
2009-10-23inline: Fix raw mode. Closes: #552114Joey Hess
2009-10-15slight optimisationJoey Hess
2009-10-15inline: Optimize generation of archives, etcJoey Hess
Don't generate inlined page content if the template does not use it.
2009-10-09pagespec_match_list: change limit to filterJoey Hess
2009-10-08rename use_pagespec to pagespec_match_listJoey Hess
To avoid breaking plugins, also support the old pagespec_match_list calling convention, with a deprecation warning.
2009-10-08fix feedpages dependencyJoey Hess
This dependency was missing before switching to use_pagespec. It is correct to add it, but it needs to be combined with the regular "pages" dependency to ensure that it does not match extra pages. (Also fixed its dependency type.)
2009-10-08inline: switch to use_pagespecJoey Hess
Taking advantage of every single one of its features, of course. Even had to add one more..
2009-10-08change how dependency types are specified to add_dependsJoey Hess
Also, this fixes 2 bugs in dependency info.
2009-10-07remove explicit addition of dependencies for displayed pagesJoey Hess
that hack is not needed, thanks to pagespec influences calculation
2009-10-05fix add_depends to new apiJoey Hess
2009-10-04inline: Use a contentless dependency in quick mode.Joey Hess
2009-08-28Merge commit 'intrigeri/po'Joey Hess
2009-08-28inline: if using pagenames, don't add a dependency on "page1 or page2 or..."Simon McVittie
This is unnecessary and just slows us down (by a factor of 2, in the pessimal case where every page has an inline with pagenames); it's also not possible to optimize it into add_depends_exact calls.
2009-08-28inline: moved rootpage logic to a functionintrigeri
The po plugin's injected bestlink must do something special when called by this exact part of inline's code. Signed-off-by: intrigeri <intrigeri@boum.org>
2009-08-25Revert "Allow add_depends to take an arrayref"Joey Hess
This reverts commit e4cd168ebedd95585290c97ff42234344bfed46c. There was no benefit to this change.
2009-08-25Allow add_depends to take an arrayrefSimon McVittie
2009-08-24calendar, inline, map: don't pre-join dependenciesSimon McVittie
The new dependency handling works better (eliminates more duplicates) if dependencies are split up. On the same wiki mentioned in the previous commit, this saves about a second (i.e. 4%) on the same test.
2009-08-16use pagespec_match_list for feedpagesJoey Hess
This is both faster, and propigates any error in processing the feedpages pagespec out to display on the page. Which may have been why I didn't use it before, but currently seems like a good thing to do, since it explains why your feeds are empty..
2009-08-13Add discussionpage configuration settingJoey Hess
By adding this setting, we get both more configurability, and a minor optimisation too, since gettext does not need to be called continually to get the Discussion value.
2009-08-13optimise gettext callsJoey Hess
2009-08-12inline: Avoid use of my $_ as it fails with older perls. Closes: #541215Joey Hess
2009-06-16inline: add pagenames parameterSimon McVittie
If given instead of pages, this is interpreted as a space-separated list of links to pages (with the same LinkingRules as in a WikiLink), and they are inlined in exactly the order given. The sort and pages parameters cannot be used in conjunction with this one.
2009-06-04fix further places where translated discussion case was assumedJoey Hess
Another benefit is that consistently using gettext("Discussion") eliminates the need to translate one string.
2009-05-05inline: Minor optimisation.Joey Hess
When finding the pageurl, it was calling bestlink unnecessarily. Since at this point $page contains the full name of the page that is being inlined, there is no need to do bestlink's scan for it. This is only a minor optimisation, since bestlink is only called once per displayed, inlined page.
2009-04-23formattingJoey Hess
2009-04-23pagespec_match_list added and used in most appropriate placesJoey Hess
* pagespec_match_list: New API function, matches pages in a list and throws an error if the pagespec is bad. * inline, brokenlinks, calendar, linkmap, map, orphans, pagecount, pagestate, postsparkline: Display a handy error message if the pagespec is erronious.
2009-04-23pagespec error/failure distinction and error display by inlineJoey Hess
* Add IkiWiki::ErrorReason objects, and modify pagespecs to return them in cases where they fail to match due to a configuration or syntax error. * inline: Display a handy error message if the inline cannot display any pages due to such an error. This is perhaps somewhat incomplete, as other users of pagespecs do not display the error, and will eventually need similar modifications to inline. I should probably factor out a pagespec_match_all function and make it throw ErrorReasons.
2009-03-19inline: Fix urls to feed when feedfile is used on an index page.Joey Hess
It would be better to use urlto() here, but will_render has not yet been called on the feed files at this point, so it won't work. (And reorganizing so it can be is tricky.)
2009-03-19avoid crashing if Sort::Naturally is not installedJoey Hess