summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin
AgeCommit message (Collapse)Author
2009-07-19Merge branch 'master' into poJoey Hess
Conflicts: debian/changelog
2009-07-17pagestats: add `among` parameter, which only counts links from specified pagesSimon McVittie
2009-07-17pagestats: when making a tag cloud, don't emit links where the tag is unusedSimon McVittie
2009-07-11Merge commit 'e12b7f5e54730325c751a889ed2e08580b5ef6ba'Joey Hess
2009-07-11img: Pass the align parameter through to the generated img tag.Joey Hess
2009-07-10Move OpenID pretty-printing from openid plugin to coreSimon McVittie
On various sites I have two IkiWiki instances running from the same repository: one accessible via http and only accepting openid logins, and one accessible via authenticated https and only accepting httpauth. The https version should still pretty-print OpenIDs seen in git history, even though it does not itself accept OpenID logins.
2009-07-08svn: Fix rcs_rename to properly scope call to dirname.Joey Hess
2009-07-07highlight: Fix utf-8 encoding bug. Closes: #535028Joey Hess
2009-07-07Update IkiWiki::openiduser to work with Net::OpenID 2.xSimon McVittie
openiduser previously used a constructor that no longer works in 2.x. However, all we actually want is the (undocumented) DisplayOfURL function that is invoked by the display method, so try to use that. (cherry picked from commit c3dd0ff5c7c10743107f203a5b456fdcd1b171df)
2009-07-01typoJoey Hess
2009-06-16img plugin: do not emit a redundant double-quote before alt attributeSimon McVittie
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-12aggregate: Avoid resetting ctime when an item md5 changes.Joey Hess
Besides being wrong to do, this could lead to the wrong item being expired, as follows: If B is added and at the same time A is changed, then A's ctime may be set to the current time, while B's is set to its creation time. Thus the new item, A, is incorrectly removed as older. (This interacted especially badly with the bug fixed by 90b4d079605b72bb50d1da41402d994960e10937.)
2009-06-12aggregate: Fix storing of changed md5.Joey Hess
The aggregate state merge code neglected to merge changes to the md5 field of an item. Therefore, if an item's md5 changed after initial aggregation, it would be updated, and rewritten, each time thereafter. This was wasteful and indirectly led to some expire problems.
2009-06-09Disable the Preferences link if no plugin with an auth hook is enabled.Joey Hess
2009-06-08meta: Add openid delegate parameter to allow delegating only openid or openid2.Joey Hess
2009-06-06Merge commit 'upstream/master' into pub/pointrigeri
Conflicts: debian/changelog debian/control Signed-off-by: intrigeri <intrigeri@boum.org>
2009-06-06goto: Support being passed a page title that is not a valid page name, to ↵Joey Hess
support several cases including mercurial's long user names on the RecentChanges page, and urls with spaces being handled by the 404 plugin.
2009-06-05pagecount: Fix broken optimisation for * pagespec.Joey Hess
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-06-03po: better discussion link logicintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-06-02comment: Make comment directives no longer use the internal "_comment" form, ↵Joey Hess
and document the comment directive syntax. Rationalle: Comments need to be user-editable so that they can be posted via git commit etc. The _comment directive is still supported, for back-compat.
2009-05-26call initLanguage after initThemeJoey Hess
See #530654
2009-05-23cache highlighters to optimiseJoey Hess
Setting up a new highlighter object is slightly expensive since it reads and parses the langfile each time. So cache them. This also speeds up ext2langfile by avoiding it needing to check for the existence of a language file in some cases.
2009-05-23updateJoey Hess
2009-05-23allow format to use any language supported by highlightJoey Hess
format: Provide a htmlizefallback hook that other plugins can use to handle formats that are not suitable for general-purpose htmlize hooks. highlight: Use the hook to allow formatting of any language/extension, without it needing to be enabled for standalone source files. highlight: If the highlight perl binding is not available, fallback safely to a passthrough mode.
2009-05-23remove commas in tohighlight listJoey Hess
2009-05-22highlight: New plugin supporting syntax highlighting of pretty much anything.Joey Hess
* debian/control: Add suggests for libhighlight-perl, although that package is not yet created by Debian's highlight source package. (See #529869)
2009-05-22listdirectives: Avoid listing _comment directives and generally assume any ↵Joey Hess
directive starting with _ is likewise internal.
2009-05-21support longname for page types in commands and renameJoey Hess
Also, sort the list of page types.
2009-05-19Merge branch 'master' into poJoey Hess
Conflicts: debian/changelog
2009-05-19Merge commit 'intrigeri/po' into poJoey Hess
2009-05-16tidy up new page_types codeJon Dowland
2009-05-16add a long name for textile/txtl ("Textile")Jon Dowland
2009-05-16add a long name for mdwn ("Markdown")Jon Dowland
2009-05-16check for longname for each syntax pluginJon Dowland
We build an array of [ plugin name, long name ] pairs, where long name is an optional argument to hook(). So, a syntax plugin could define long "friendly" name, such as "Markdown" instead of mdwn, and we would then pass this array to formbuilder to populate the drop-down on the edit page.
2009-05-06remove pagespec_match_list override for externalJoey Hess
Not needed since it returns a list of pages, not a fail/success object.
2009-05-06external: Fix pagespec_match and pagespec_match_list. Closes: #527281Joey Hess
2009-05-06Avoid %links accumulating duplicates. (For TOVA)Joey Hess
This is sorta an optimisation, and sorta a bug fix. In one test case I have available, it can speed a page build up from 3 minutes to 3 seconds. The root of the problem is that $links{$page} contains arrays of links, rather than hashes of links. And when a link is found, it is just pushed onto the array, without checking for dups. Now, the array is emptied before scanning a page, so there should not be a lot of opportunity for lots of duplicate links to pile up in it. But, in some cases, they can, and if there are hundreds of duplicate links in the array, then scanning it for matching links, as match_link and some other code does, becomes much more expensive than it needs to be. Perhaps the real right fix would be to change the data structure to a hash. But, the list of links is never accessed like that, you always want to iterate through it. I also looked at deduping the list in saveindex, but that does a lot of unnecessary work, and doesn't completly solve the problem. So, finally, I decided to add an add_link function that handles deduping, and make ikiwiki-transition remove the old dup links.
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-23simplifiyJoey Hess
2009-04-23Revert "pagespec_match_list * optimisation"Joey Hess
This reverts commit 2f96c49bd1826ecb213ae025ad456a714aa04863. I forgot about internal pages. We don't want * matching them! I left the optimisation in pagecount, where it used to live. Internal pages probably don't matter when they're just being counted.
2009-04-23avoid using pagespec_match_list hereJoey Hess
I forgot to check if it was called from preprocess, and it is not; it's called by a format hook. If an error is thrown from a format hook, wiki build fails, so we don't want that.
2009-04-23simplifyJoey Hess
2009-04-23pagespec_match_list * optimisationJoey Hess
Add an optimisation for the semi-common case of a "*" pagespec. Can avoid doing any real processing in this case.
2009-04-23formattingJoey Hess
2009-04-23typoJoey 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-23comments: Add link to comment post form to allow user to sign in if they ↵Joey Hess
wish to, if the configuration makes signin optional for commenting.
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.