summaryrefslogtreecommitdiff
path: root/IkiWiki
AgeCommit message (Collapse)Author
2008-11-18avoid uninitialized value warningJoey Hess
2008-11-18html escaping complicationJoey Hess
Can't escape things to entities if the template then escapes the entities. (aggregate doesn't have this problem.)
2008-11-18improve escaping of wikilinks and preprocessor directivesJoey Hess
The old method failed for '[' x 3.
2008-11-17call decode_utf8 inside evalJoey Hess
holger reported that decode_utf8 was crashing with perl 5.8.8. Earlier, I thought that passing 0 to the function avoided this with old perls, but that was apparently not enough, it still crashes. So, put it inside the eval, so we can at least recover from it crashing.
2008-11-17use HTML::EntitiesJoey Hess
2008-11-17use perl modules up frontJoey Hess
The old code actually did the same thing, just obfuscated -- since the eval use wasn't quoted, it used the modules on load. Thus, the error (not to mentioned the return) was bypassed, and it just failed on load. But that seems like the right thing to do, really, so just made it clearer that's what happens.
2008-11-17htmlbalance: new plugin that balances tags by parsing and re-serializingSimon McVittie
2008-11-11make unlockwiki drop the cgilockJoey Hess
This is necessary so that things that fork to the background, like pinger, and inline ping, don't block other cgis from running. Note that websetup also calls unlockwiki, before refreshing / rebuilding the wiki. It makes perfect sense for that not to block other cgis.
2008-11-11O_CREATE needs modeJoey Hess
2008-11-11avoid multiple ikiwiki cgi processes piling up, eating all memory, and thrashingJoey Hess
Fixed by making the cgi wrapper wait on a cgilock. If you had to set apache's MaxClients low to avoid ikiwiki thrashing your server, you can now turn it up to a high value. The downside to this is that a cgi call that doesn't need to call lockwiki will be serialised by this so only one can run at a time. (For example, do=search.) There are few such calls, and all of them call loadindex, so each still eats gobs of memory, so serialising them still seems ok.
2008-11-11bzr: Fix dates for recentchanges.Joey Hess
2008-11-10remove redundant link mungeJoey Hess
This is not needed now that tagpage returns a page name starting with a slash. (Also fixes a minor bug that the edit links started with double slashes due to the hack.)
2008-11-10tag: Normalize tagbase so leading/trailing slashes in it don't break things.Joey Hess
2008-11-10Add rel=nofollow to recentchanges_links for the same (weak) reasons it was ↵Joey Hess
earlier added to edit links.
2008-11-06txt: Do not encode quotes when filtering the txt, as that broke later ↵Joey Hess
parsing of any directives on the page.
2008-11-06meta: Plugin is now enabled by default since the basewiki uses it.Joey Hess
2008-11-06aggregate: Try to query XML::Feed for the base url when derelevatising ↵Joey Hess
links. Since this needs the just released XML::Feed 0.3, as well as a not yet released XML::RSS, it will fall back to the old method if no xml:base info is available.
2008-11-05use error for two messagesJoey Hess
2008-11-02preprocess text before htmlizing itJoey Hess
2008-10-31format: New plugin, allows embedding differntly formatted text inside a page ↵Joey Hess
(ie, otl inside a mdwn page, or syntax highlighted code inside a page).
2008-10-30set ctime in --render mode if not knownJoey Hess
Avoids some uninitialised value warnings.
2008-10-30don't rely on plugin load order when determining generated directivesJoey Hess
Instead, shortcuts will explicitly be marked as such when registered, and listdirectives can filter them out.
2008-10-29fix preview of shortcutsJoey Hess
Move shortcut processing back to checkconfig, and avoid it failing if the srcdir is not defined.
2008-10-29fix display of error msgJoey Hess
2008-10-27git: Allow [[sha1_commit]] to be used in the diffurl, to support cgit.Joey Hess
2008-10-26do no-op post_commit test in wrapperJoey Hess
This speeds up web commits by 1/4th of a second or so, since perl does not have to start up for the post commit hook. perl's locking is completly FuBar, since it's impossible to tell what perl flock() really does, and thus difficult to write code in other languages that interoperates with perl's locking. (Let alone interoperating with existing fcntl locking from perl...) In this particular case, I think I was able to find a way to avoid the insanity, mostly. The C code does a true flock(2), and if perl is using an incompatable lock method that does not use the same locking primative at the kernel level, then the C code's test will fail, and it will go ahead and run the perl code. Then the perl code's test will test the right thing. On Debian, at least lately, perl's flock() does a true flock(2), so the optimisation does work.
2008-10-26move untrusted committer test into the wrapperJoey Hess
This saves around 1/4th second per trusted commit since ikiwiki doesn't need to start up.
2008-10-24remember how to write C codeJoey Hess
been a while!
2008-10-24the pre-receive wrapper needs to be suid after allJoey Hess
It needs to write to the user db.
2008-10-24export CALLER_UIDJoey Hess
2008-10-24can't lock wiki due to permissions (probably)Joey Hess
luckily, don't really need to here
2008-10-24include temp file for attachment change tooJoey Hess
2008-10-24updatesJoey Hess
2008-10-24really fix calls to check_can*Joey Hess
2008-10-23untrusted committers code seems to be fully workingJoey Hess
Still need to investigate possible races, and test some more.
2008-10-23fix calls to check_*Joey Hess
These throw errors, do not have useful return codes.
2008-10-23check_canattach hooked upJoey Hess
2008-10-23more work on untrusted committersJoey Hess
Wired up check_canedit and check_canremove, still need to deal with check_canattach, and test.
2008-10-22initial support for git repos with untrusted committersJoey Hess
Still need to wire up the calls to check_* , but it's cold out here and my hands are going numb, so enough for now.
2008-10-21function injection overhaulJoey Hess
Add an inject function, that can be used by plugins that want to replace one of ikiwiki's functions with their own version. (This is a scary thing that grubs through the symbol table, and replaces all exported occurances of a function with the injected version.) external: RPC functions can be injected to replace exported functions. Removed the stupid displaytime hook, and use injection instead.
2008-10-21disable warnings when redefining functionsJoey Hess
2008-10-20use relativedate as the css class for dates that should display relativeJoey Hess
2008-10-20tag: When tagpage is set, force the links created by tagging to point at the ↵Joey Hess
toplevel tagpage, and not closer subpages. The html links already went there, but internally the links were not recorded as absolute, which could cause confusing backlinks etc. For example, with tagbase=tags, if blog/tags/bar existed and blog/foo was tagged bar, it would link to /tags/bar. But, the link would be recorded simply as a link to tags/bar, and so later blog/tags/bar would appear to have the backlink.
2008-10-20inline: Only the last feed link was put on the page, fix this to include all ↵Joey Hess
feed links. So rss will be included along with atom, and pages with multiple feeds will get links added for all feeds.
2008-10-19Use the pure perl Data::Dumper when generating setup files to ensure that ↵Joey Hess
utf-8 characters are written out as such, and not as the encoded perl strings the C Data::Dumper produces. Note that the text produced by the C version was interpreted fine when ikiwiki loaded the setup file. But it was not user-friendly.
2008-10-19Fix issue with utf-8 in wikiname breaking session cookies, by ↵Joey Hess
entity-encoding the wikiname in the session cookie.
2008-10-19add displaytime hookJoey Hess
Need to use a hook because an exported function cannot be reliably overridden. The replacement verstion was actually only affecting plugins loaded after it. formattime doesn't need a hook, since there's no reason to export it.
2008-10-19need to use localtime, fix widthJoey Hess
2008-10-19fix relativedate timezone inclusionJoey Hess
The machine parseable date needs to include a timezone. Also, simplified the interface for date display.
2008-10-19mark up date so relativedate will workJoey Hess