aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* on css suckitudeJoey Hess2008-03-21
|
* external: Work around XML RPC's lack of support for null by passing a ↵Joey Hess2008-03-21
| | | | special sentinal value.
* Allow individual hook registration to override IDmartin f. krafft2008-03-21
| | | | | | | | | The preprocessor hooks need to specify IDs different from the ID used to initialise the proxy. Thus, the hook function now takes an optional id keyword argument and uses the ID used during initialisation if none is provided. Signed-off-by: martin f. krafft <madduck@madduck.net>
* Refactor remote procedure calls in the proxymartin f. krafft2008-03-21
| | | | | | | | | | | Add an rpc() method to the proxy to allow users to call remote procedures, and route the proxy's own import registration via this function. Also, implement convenience functions for the RPC calls exported in the IkiWiki::XML::RPC namespace. Signed-off-by: martin f. krafft <madduck@madduck.net>
* Make proxy object available to hook functionsmartin f. krafft2008-03-21
| | | | | | | Hook functions now get the proxy object as first argument to be able to use RPC via the proxy. Signed-off-by: martin f. krafft <madduck@madduck.net>
* add last parameter to plugin registrationmartin f. krafft2008-03-21
| | | | Signed-off-by: martin f. krafft <madduck@madduck.net>
* Allow external plugins to return no valuemartin f. krafft2008-03-21
| | | | | | | | | | | | | 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>
* Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.infoJoey Hess2008-03-21
|\
| * web commit by http://jblevins.org/: Case-sensitivity of HTML::ScrubberJoey Hess2008-03-21
| |
| * web commit by http://jblevins.org/: Fix links and signJoey Hess2008-03-21
| |
| * web commit by http://jblevins.org/: Request for comments about SVG and ↵Joey Hess2008-03-21
| | | | | | | | MathML whitelists
* | fix page source storingJoey Hess2008-03-21
| | | | | | | | This saves space, and stores the data under the right keys.
* | fix transition callJoey Hess2008-03-21
| |
* | moved to a tipJoey Hess2008-03-21
| |
* | add a tip about dealing with ikiwiki's binary state filesJoey Hess2008-03-21
| |
* | fix transitioning of page stateJoey Hess2008-03-21
| |
* | add transition code for indexdbJoey Hess2008-03-21
| |
* | Changed to a binary index file, written using Storable, for speedJoey Hess2008-03-21
|/ | | | | | | | During refresh of a wiki with 800 files, loadindex was using more total time than any other function, and saveindex was also in the top ten. Rewriting them to use Storable makes them three times as fast. 0.7 seconds is saved on my laptop in profiling mode.
* Precompile pagespecs, about 10% overall speedupJoey Hess2008-03-21
| | | | | | | | | | | | | | About 12% of ikiwiki runtime was spent in pagespec_match. It was evaling the same pagespec code over and over again. This changes pagespec_translate to return memoized, precompiled functions that can be called to match against a given pagespec. This also allows getting rid of the weird variable scoping trick that had to be in effect for pagespec_translate to be called -- the variables are now just fed into the function it returns. On my laptop, this drops build time for the docwiki from about 60 to 50 seconds.
* improve commentJoey Hess2008-03-21
|
* updates to support current version of Devel::ProfileJoey Hess2008-03-21
|
* work around perl warningJoey Hess2008-03-21
|
* delete inline data after it's usedJoey Hess2008-03-21
|
* crazy optimisation to work around slow markdownJoey Hess2008-03-21
| | | | | | | | | | | | | | | | | | 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.)
* process smilies in a sanitize hookJoey Hess2008-03-21
| | | | | I had to move it to sanitize so all the markup is htmlized, so it can scan for <pre> and <code>.
* another fixJoey Hess2008-03-21
| | | | | 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.
* various fixes and simplificationsJoey Hess2008-03-21
|
* typoJoey Hess2008-03-21
|
* smiley: Detect smileys inside pre and tags, and do not expand.Joey Hess2008-03-21
|
* Close meta tag for redir properly.Joey Hess2008-03-21
|
* web commit by http://jblevins.org/: OopsJoey Hess2008-03-20
|
* web commit by http://jblevins.org/: MathML+SVG whitelistJoey Hess2008-03-20
|
* web commit by http://brian.may.myopenid.com/: change.tmpl and BASEURLJoey Hess2008-03-20
|
* web commit by http://jblevins.org/: A note about the toc plugin and headers ↵Joey Hess2008-03-20
| | | | in templates
* web commit by http://jblevins.org/: Bug report updateJoey Hess2008-03-20
|
* web commit by http://bremner.myopenid.com/Joey Hess2008-03-20
|
* moved to a different serverJoey Hess2008-03-19
|
* Merge branch 'master' of ssh://git.kitenet.net/srv/git/ikiwiki.infoJoey Hess2008-03-19
|\
| * Store userinfo in network byte order for easy portability. (Old files will ↵Joey Hess2008-03-19
| | | | | | | | be automatically converted.)
| * Time::Duration is no longer used, remove from docs and recommends.Joey Hess2008-03-19
| |
* | web commit by http://joey.kitenet.net/Joey Hess2008-03-19
|/
* optimisation, only load openid module when signing inJoey Hess2008-03-19
| | | | This makes the CGI about .2 seconds faster when editing pages etc.
* fix setstateJoey Hess2008-03-19
| | | | Same fix as in d7f1292c3134fd9464ca4005f48b9274be861c10
* make setargv take an arrayJoey Hess2008-03-19
| | | | for consistentcy with getargv, which returns one
* fix setvarJoey Hess2008-03-19
| | | | | It was incorrectly setting the value to the number of items in @_, ie, always 1.
* Merge branch 'master' of ssh://git.kitenet.net/srv/git/ikiwiki.infoJoey Hess2008-03-19
|\
| * web commit by http://jblevins.org/: Patch for unclosed refresh meta tag.Joey Hess2008-03-19
| |
| * web commit by http://engla.myopenid.com/: oops, point my URL to my ikiwiki ↵Joey Hess2008-03-19
| | | | | | | | portion (frontpage is not ikiwiki). Also, tweak the website title
| * web commit by http://engla.myopenid.com/: changed my url since my university ↵Joey Hess2008-03-19
| | | | | | | | is pretty.. dumb
* | getargv needs to return a list referenceJoey Hess2008-03-19
|/ | | | | | 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.