summaryrefslogtreecommitdiff
path: root/IkiWiki
AgeCommit message (Collapse)Author
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
2008-10-17fix urlJoey Hess
2008-10-17tweak recentchanges permalink codeJoey Hess
Need to handle the case where url is not set.
2008-10-17Patch for anchor-based change permalinks in recent changes feedJoey Hess
from JasonBlevins
2008-10-17add missing getsetup hookJoey Hess
2008-10-17make relativedate work for the dates on the recentchanges pageJoey Hess
Having a always current relative date on recentchanges is very, very nice.
2008-10-17relativedate: New javascript-alicious plugin that makes all dates display ↵Joey Hess
relative, in a very nice way, if I say so myself.
2008-10-17Add an underlay for javascript, and add ikiwiki.js containing some utility code.Joey Hess
* Add an underlay for javascript, and add ikiwiki.js containing some utility code. * toggle: Stop embedding the full toggle code on each page using it, and move it to toggle.js in the javascript underlay.
2008-10-16aggregate: Avoid bug that caused immediate expiration of items with a date ↵Joey Hess
in the future.
2008-10-15inline: Use the feed's description in the rss and atom links. Closes: #502113Joey Hess
2008-10-14fix prototypeJoey Hess
2008-10-14inline: Allow MTIME to be used in inlinepage.tmpl.Joey Hess
2008-10-13Pass HTTPS variable through the wrapper so that CGI->https can be used by ↵Joey Hess
plugins. Closes: #502047
2008-10-10optimise url parsing and add guard against failure to parseJoey Hess
2008-10-10google plugin: Use google.com to search the local site.Peter Simons
Google allows has a nice feature, sitesearch, that allows anyone to limit search results to a specific site. Obviously, this feature can be used to provide a search engine for the local ikiwiki site without the need to install any additional software. Just enable the 'google' plugin and make sure that --url uses the proper hostname. Thanks to Joey for helping to get the Perl implementation right.
2008-10-09orphans: Fix unquoted page name in regexp.Joey Hess
2008-10-08lockedit: Support specifying which users (and IP addresses) a page is locked ↵Joey Hess
for. This supports most of the ACL type things users have been wanting to be done. Closes: #443346 (It does not control who can read a page, but that's out of scope for ikiwiki.)
2008-10-06avoid $_ in a few other for loopsJoey Hess
These were probably not currently buggy, but let's avoid bugs being introduced by the functions called clobbering $_.
2008-10-06remove: Avoid $_ breakage. (Stupid, stupid perl.)Joey Hess
This avoids another one of those $_ scoping issues where a deep call to a function that changes $_ clobbers the array that is being looped over.
2008-10-02remove, rename: Allow acting on attachments as a page is being created.Joey Hess
2008-10-02attachment: Support adding attachments to pages even as they are being created.Joey Hess
2008-10-02don't special case previewJoey Hess
Whenever the edit form is submitted, but not saved, the page location select should reduce to the currently selected value. This was only done when previewing before, but is also needed in order to support the case of adding an attachment to a page that is just being created. Before this change, the attachment plugin would get a weird value in $form->field("page"), that did not reflect the actual page location.
2008-10-01inline: Fix handling of rootpage that doesn't exist.Joey Hess
It makes sense to use bestlink to determine which page rootpage refers to, but if no page matches, just use the raw value.
2008-10-01fix subpage rename bug with indexpagesJoey Hess
If indexpages is enabled, then foo/index.mdwn will look like a subpage of foo, so an additional check is needed to avoid trying to rename it twice.
2008-09-29support indexpagesJoey Hess
2008-09-29Removed the pagefile function, which was confusingly close in name toJoey Hess
newpagefile. Note that newpagefile is not used here (or in recentchanges) because the internal use pages they generate are transient and unlikely to benefit from being put each in their own subdir.