Commit Graph

5864 Commits (5c076a66d34010d30eb956598769723c0d371d53)

Author SHA1 Message Date
Joey Hess 213eb2e408 Changed to a binary index file, written using Storable, for speed
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.
2008-03-21 09:07:44 -04:00
Joey Hess bf7360347e Precompile pagespecs, about 10% overall speedup
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.
2008-03-21 06:36:07 -04:00
Joey Hess f40fec811d improve comment 2008-03-21 05:59:33 -04:00
Joey Hess f030bce812 updates to support current version of Devel::Profile 2008-03-21 05:09:42 -04:00
Joey Hess 14b3e645a8 work around perl warning 2008-03-21 05:08:04 -04:00
Joey Hess 42b6a6178c delete inline data after it's used 2008-03-21 04:51:14 -04:00
Joey Hess f937c1fb80 crazy optimisation to work around slow markdown
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-21 04:48:26 -04:00
Joey Hess 0b9e849aba process smilies in a sanitize hook
I had to move it to sanitize so all the markup is htmlized, so it can scan
for <pre> and <code>.
2008-03-21 03:16:28 -04:00
Joey Hess cd6055a893 another fix
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-21 02:57:34 -04:00
Joey Hess 88b5a0ece5 various fixes and simplifications 2008-03-21 02:55:14 -04:00
Joey Hess be4e3ad587 typo 2008-03-21 02:43:56 -04:00
Joey Hess 44824dba1b smiley: Detect smileys inside pre and tags, and do not expand. 2008-03-21 02:43:20 -04:00
Joey Hess 628467125c Close meta tag for redir properly. 2008-03-21 00:24:06 -04:00
Joey Hess 80b402286c web commit by http://jblevins.org/: Oops 2008-03-20 23:06:41 -04:00
Joey Hess daf120c1c7 web commit by http://jblevins.org/: MathML+SVG whitelist 2008-03-20 22:53:26 -04:00
Joey Hess f1fb8eac6a web commit by http://brian.may.myopenid.com/: change.tmpl and BASEURL 2008-03-20 22:51:09 -04:00
Joey Hess da7aad08e3 web commit by http://jblevins.org/: A note about the toc plugin and headers in templates 2008-03-20 17:02:59 -04:00
Joey Hess 8e2f7ec70f web commit by http://jblevins.org/: Bug report update 2008-03-20 16:26:51 -04:00
Joey Hess d4554dd010 web commit by http://bremner.myopenid.com/ 2008-03-20 06:08:33 -04:00
Joey Hess 316bca78c9 moved to a different server 2008-03-19 23:07:13 -04:00
Joey Hess b86c40e220 Merge branch 'master' of ssh://git.kitenet.net/srv/git/ikiwiki.info 2008-03-19 23:00:21 -04:00
Joey Hess 8471c51355 web commit by http://joey.kitenet.net/ 2008-03-19 22:51:05 -04:00
Joey Hess c92e9b34ec Store userinfo in network byte order for easy portability. (Old files will be automatically converted.) 2008-03-19 22:46:51 -04:00
Joey Hess 127d97066b Time::Duration is no longer used, remove from docs and recommends. 2008-03-19 21:59:40 -04:00
Joey Hess 9f3788e2a2 optimisation, only load openid module when signing in
This makes the CGI about .2 seconds faster when editing pages etc.
2008-03-19 21:12:18 -04:00
Joey Hess d85c9660c5 fix setstate
Same fix as in d7f1292c31
2008-03-19 15:49:37 -04:00
Joey Hess 6eb3cf7e76 make setargv take an array
for consistentcy with getargv, which returns one
2008-03-19 15:49:00 -04:00
Joey Hess d7f1292c31 fix setvar
It was incorrectly setting the value to the number of items in @_, ie,
always 1.
2008-03-19 15:18:38 -04:00
Joey Hess d8c4ea783b Merge branch 'master' of ssh://git.kitenet.net/srv/git/ikiwiki.info 2008-03-19 15:15:30 -04:00
Joey Hess f003e97d10 getargv needs to return a list reference
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-19 15:12:59 -04:00
Joey Hess 4f6728a685 web commit by http://jblevins.org/: Patch for unclosed refresh meta tag. 2008-03-19 15:00:15 -04:00
Joey Hess 8813a6d065 web commit by http://engla.myopenid.com/: oops, point my URL to my ikiwiki portion (frontpage is not ikiwiki). Also, tweak the website title 2008-03-19 10:13:08 -04:00
Joey Hess 45b6baff66 web commit by http://engla.myopenid.com/: changed my url since my university is pretty.. dumb 2008-03-19 10:11:41 -04:00
Joey Hess 556ec23914 German translation update. Closes: #471540 2008-03-18 16:36:19 -04:00
Joey Hess 56adaee5d3 Merge branch 'master' of ssh://git.kitenet.net/srv/git/ikiwiki.info 2008-03-18 12:58:47 -04:00
martin f. krafft 36580186a0 Prevent plugins/.gitignore from being installed
I added a .gitignore file to plugins/ to ignore *.pyc files, and that
file is now being installed +x to /usr/lib/ikiwiki/plugins. This commit
prevents that by excluding all dot-files under plugins/ from the
install.

Signed-off-by: martin f. krafft <madduck@madduck.net>
2008-03-18 12:58:09 -04:00
Joey Hess 99f9e54ca7 web commit by http://madduck.net/: more details 2008-03-18 10:25:45 -04:00
Joey Hess bc96a06b99 web commit by http://madduck.net/: add note about marking current pages 2008-03-18 07:17:56 -04:00
Joey Hess 6c77cb1242 web commit by http://madduck.net/ 2008-03-18 07:16:32 -04:00
Joey Hess 2e29699c42 web commit by http://madduck.net/: tagging wishlist 2008-03-18 07:15:55 -04:00
Joey Hess 2317ce58b0 web commit by http://madduck.net/ 2008-03-18 07:14:57 -04:00
Joey Hess 16c7dfa733 web commit by http://madduck.net/ 2008-03-18 07:06:39 -04:00
Joey Hess af213e83f6 web commit by http://madduck.net/ 2008-03-18 05:47:14 -04:00
Joey Hess 1284941f73 web commit by http://madduck.net/: closing 2008-03-18 05:41:00 -04:00
Joey Hess a98f624fc3 response 2008-03-17 22:33:21 -04:00
Joey Hess 52e16d4ec9 * Record new pages in %pagesources temporarily when previewing so that
things that need to know the page source or type can query it from there.
  Fixes previewing of tables when creating a new page.
2008-03-17 21:28:31 -04:00
Joey Hess bd6459b852 web commit by http://madduck.net/ 2008-03-17 18:09:33 -04:00
Joey Hess 4690a450eb update 2008-03-17 17:17:53 -04:00
martin f. krafft 32721de809 first implementation of a python demo
(cherry picked from commit bbdf127917a13b81cef50995098f479ef4fe1cf9)
2008-03-17 17:17:19 -04:00
martin f. krafft 7ab204be73 force data written to stdout to be a string
(cherry picked from commit 65c24d4aeca6188f4423ad1809f2415285843155)
2008-03-17 17:17:01 -04:00