summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin
AgeCommit message (Collapse)Author
2008-03-21Allow external plugins to return no valuemartin f. krafft
Instead of using the XML-RPC v2 extension <nil/>, which Perl's XML::RPC::Parser does not (yet) support (Joey's patch is pending), we agreed on a sentinel: {'null':''}, that is, a hash with a single key "null" pointing to the empty string. The Python proxy automatically converts None appropriately and raises an exception if a hook function should, by weird coincidence, attempt to return {'null':''}. Signed-off-by: martin f. krafft <madduck@madduck.net>
2008-03-21work around perl warningJoey Hess
2008-03-21delete inline data after it's usedJoey Hess
2008-03-21crazy optimisation to work around slow markdownJoey Hess
Markdown is slow. Especially if it has to process an enormous page. The most common enormous page is currently the recentchanges page, which gets processed a lot, and contains very little actual markdown. Most of it is a big <div>, which markdown skips ... slowly. This is a rather sick optimisation to work around markdown's speed issues. Now inline inserts a small, dummy div, allows markdown to quickly render the actual page content, then replaces the dummy with the actual inlined pages later. Results: Rendering just a recentchanges page, with diffs included, dropped from 4.5 seconds to 2.7 seconds on my laptop. Building the entire wiki dropped from 46.6 seconds to 39.5 seconds. (It would be better if inline were a *post*-processor directive.)
2008-03-21process smilies in a sanitize hookJoey Hess
I had to move it to sanitize so all the markup is htmlized, so it can scan for <pre> and <code>.
2008-03-21another fixJoey Hess
I'm suprised that the second m//g didn't seem to clobber @-, but I don't want to rely on that, so preserve it beforehand.
2008-03-21various fixes and simplificationsJoey Hess
2008-03-21smiley: Detect smileys inside pre and tags, and do not expand.Joey Hess
2008-03-21Close meta tag for redir properly.Joey Hess
2008-03-19optimisation, only load openid module when signing inJoey Hess
This makes the CGI about .2 seconds faster when editing pages etc.
2008-03-19fix setstateJoey Hess
Same fix as in d7f1292c3134fd9464ca4005f48b9274be861c10
2008-03-19make setargv take an arrayJoey Hess
for consistentcy with getargv, which returns one
2008-03-19fix setvarJoey Hess
It was incorrectly setting the value to the number of items in @_, ie, always 1.
2008-03-19getargv needs to return a list referenceJoey Hess
xml rpc only allows functions to return a single value, no lists. So getargv needs to return a list reference, which means that the caller will see an xml rpc array.
2008-03-15* external: Add getargv and setargv methods to allow access to ikiwiki'sJoey Hess
@ARGV.
2008-03-15* htmltidy: Pass --markup yes, in case tidy's config file disabled it.Joey Hess
2008-03-15* external: Fix support of XML::RPC::fault.Joey Hess
2008-03-14* Fix expiry of old recentchanges changeset pages.Joey Hess
2008-03-14load HTML::Entities at topJoey Hess
Used in several subs, not all of which load it on demand, this seems simpler.
2008-03-12no need to use HTML::Entities, as it's loaded on demand by code belowJoey Hess
2008-03-12* Use absolute url for feedurl when filling out the feed templates.Joey Hess
Closes: #470530
2008-03-12truncate recentchangesdiffs after 200 linesJoey Hess
This works around a perl crasher bug, and also avoids bloating pages with enormous diffs. rcs_recentchanges modified to return a list in an array context.
2008-03-12* Use forcebaseurl to make page previews be displayed with the html baseJoey Hess
set to the destination page. This avoids need for hacks to munge the urls in preview mode, which fixes several bugs. * Several destpage fixes in plugins.
2008-03-12fix syntax errorJoey Hess
2008-03-11Correct meta.robots attribute value->contentmartin f. krafft
This was a silly typo, sorry. <meta ...> takes an attribute content, not value. Signed-off-by: martin f. krafft <madduck@madduck.net>
2008-03-11Generate openid2 headers as wellmartin f. krafft
This causes meta.openid to also generate the openid2 headers. Signed-off-by: martin f. krafft <madduck@madduck.net>
2008-03-11Let meta.openid set X-XRDS-Location headermartin f. krafft
Adds an optional xrds-location parameter to the openid meta handler, which allows for XRDS delegation. A good document on XRDS is http://www.windley.com/archives/2007/05/using_xrds.shtml Signed-off-by: martin f. krafft <madduck@madduck.net>
2008-03-04test for Text::Markdown::[Mm]arkdown and use the available oneJoey Hess
Markdown is such a splintered mess.. The current debian package provides only Text::Markdown::Markdown, while all versions of Text::Markdown support Text::Markdown::markdown, and old versions also support the capitalised version, while new ones don't. It's getting to the point where `grep /markdown/i %symbol_table` is the only sane way to figure out what function to call..
2008-03-04* Use Text::Markdown::markdown, since version 1.0.16 of Text::MarkdownJoey Hess
no longer supports Text::Markdown::Markdown. All old versions of Text::Markdown also support the lower-case version.
2008-03-03* Add recentchangesdiff plugin that adds diffs to the recentchanges feeds.Joey Hess
* rcs_diff is a new function that rcs modules should implement. * Implemented rcs_diff for git, svn, and tla (tla version untested). Mercurial and monotone still todo.
2008-03-02Add robots tag to meta pluginmartin f. krafft
Add special handling for <meta name="robots" ...> which needs not be scrubbed as it's harmless. Signed-off-by: martin f. krafft <madduck@madduck.net> (cherry picked from commit b15d0299a7f7b147e89d8a202d6cca1c21491af2)
2008-03-02Make directives generated by shortcuts accept a `desc` parameter.Adeodato Simó
(cherry picked from commit 252da396bfa728b99af7c9bb304a7b5f3f6d94e6)
2008-02-29Allow colons in URLs after the first slashAdeodato Simó
A new regexp fixes this bug: http://ikiwiki.info/bugs/No_link_for_blog_items_when_filename_contains_a_colon/ I traced this down to htmlscrubber. If disabled, it works. If enabled, then $safe_url_regexp determines the URL unsafe because of the colon and hence removes the src attribute. Digging into this, I find that RFC 3986 pretty much discourages colons in filenames: """ A path segment that contains a colon character (e.g., "this:that") cannot be used as the first segment of a relative-path reference, as it would be mistaken for a scheme name. Such a segment must be preceded by a dot-segment (e.g., "./this:that") to make a relative- path reference. """ on the other hand, with usedirs, any link to another page will be prepended by ../ anyway, so that makes them okay again. The solution still seems not to use colons. In any case, htmlscrubber should get a new regexp, courtesy of dato. I have tested and verified this. Signed-off-by: martin f. krafft <madduck@madduck.net>
2008-02-24* inline: When forcing urls absolute for rss feeds, skip mailto and otherJoey Hess
such urls.
2008-02-24* Fix another preview will_render bug. This one involved inline,Joey Hess
which forced a scan of the page to make available metadata that appeared after the inline directive. Problem is that scan made it forget about any other files rendered due to the page. The scan also turns out to be unnecessary now, since meta persistently stores state and it's always available. So it was just removed.
2008-02-14* The search plugin needs to override <base> to point to the directoryJoey Hess
containing ikiwiki.cgi, but this should not change the urls to the style sheets etc. Add a new forcebareurl parameter to misctemplate to allow it to do that.
2008-02-11* camelcase: Convert to use new linkify and scan hooks rather than the oldJoey Hess
hack.
2008-02-11* Add the linkify and scan hooks. These hooks can be used to implementJoey Hess
custom, first-class types of wikilinks. * Move standard wikilink implementation to a new wikilink plugin, which will of course be enabled by default.
2008-02-11* Generate XML RPC messages with the encoding set to utf-8 insteadJoey Hess
of XML::RPC's default of us-ascii. Allows interoperation with python's xmlrpc library, which threw invalid encoding exceptions and caused the rst plugin to hang.
2008-02-10use quotemeta when building the regexpJoey Hess
2008-02-10Allow the smb: URI scheme.Josh Triplett
2008-02-10Allow the snews: URI scheme.Josh Triplett
2008-02-10Do not allow the steam: URI scheme.Josh Triplett
2008-02-10Match literal '.' in URI schemas containing '.', rather than matching any ↵Josh Triplett
character
2008-02-10* meta: Check that the urls provided for authorurl, permalink, and openidJoey Hess
are safe and can't contain javascript.
2008-02-10export $safe_url_regexpJoey Hess
2008-02-10Also filter the attributes cite, longdesc, and usemap, which can contain URIsJosh Triplett
2008-02-10add parens around scheme regexpJoey Hess
2008-02-10Do not allow the about: URI schemeJosh Triplett
Some browsers interpret about: URIs like a limited version of data: URIs. In particular, some versions of Internet Explorer interpret arbitrary HTML content in about: URIs.
2008-02-10fix data:image handlingJoey Hess