aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki.pm
Commit message (Collapse)AuthorAge
* enable prefix_directives by defaultJoey Hess2008-12-23
|
* beautify_urlpath: if path already starts with ./, don't add another ./Simon McVittie2008-12-21
|
* beautify_urlpath: add ./ before checking for /index.htmlSimon McVittie2008-12-21
| | | | | This fixes a bug: when a page links to its own #comments anchor you would get a link like "index.html#comments" rather than "./#comments".
* clarifyJoey Hess2008-12-18
|
* don't rely on $@Joey Hess2008-12-17
| | | | | | A malformed pagespec will cause $@ to be set when translated, but if it is used a second time, the memoization will defeat that check. Better to check for the result not being defined.
* Coding style change: Remove explcit vim folding markers.Joey Hess2008-12-17
|
* inline: Support feedfile option to change the filename of the feed generated.Joey Hess2008-12-11
|
* fix handling of wrappergroup optionJoey Hess2008-11-26
| | | | Had forgot to include it in the option list.
* avoid adding ./ to urls unnecessarilyJoey Hess2008-11-20
| | | | | | | | | This avoids constructing urls like "./../foo/". The leading "../" avoids any colon confusion already. I noticed in my logs that certain badly written web spiders (hello again, Yahoo!) fail to follow urls like ikiwiki was constructing to the right place (instead ending up at "./foo/")
* check for invalid utf-8, and toss it back to avoid crashesJoey Hess2008-11-12
| | | | | | | | | | | | | | | | | | | | | | Since ikiwiki uses open :utf8, perl assumes that files contain valid utf-8. If it turns out to be malformed it may later crash while processing strings read from them, with 'Malformed UTF-8 character (fatal)'. As at least a quick fix, use utf8::valid as soon as data is read, and if it's not valid, call encode_utf8 on the string, thus clearing the utf-8 flag. This may cause follow-on encoding problems, but will avoid this crash, and the input file was broken anyway, so GIGO is a reasonable response. (I looked at calling decode_utf8 after, but it seemed to cause more trouble than it was worth. BTW, use open ':encoding(utf8)' avaoids this problem, but the corrupted data later causes Storable to crash when writing the index.) This is a quick fix, clearly imperfect: - It might be better to explicitly call decode_utf8 when reading files, rather than using the IO layer. - Data read other than by readfile() can still sneak in bad utf-8. While ikiwiki does very little file input not using it, stdin for the CGI would be one way.
* make unlockwiki drop the cgilockJoey Hess2008-11-11
| | | | | | | | 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.
* lockwiki changesJoey Hess2008-11-11
| | | | | | * Stop busy-waiting in lockwiki, as this could delay ikiwiki from waking up for up to one second. The bailout code is no longer needed. * Remove support for unused optional wait parameter from lockwiki.
* Fix the link() pagespec to match links that are internally recorded as absolute.Joey Hess2008-11-09
| | | | | | | | | | | | | | This fixes a problem exposed by the recent change to tags (a2839de9362187b67b0e3a564461e272e64fd9b4). That recorded tag links as absolute by including a leading slash in the link. The same could also be done with an absolute wikilink. In either case, link() would not match such links, unless the leading slash was included in the link to match. But that's not right, because pagespecs match absolute by default. So strip the leading slash. Note that to keep any existing `link(/foo)` pagespecs working after this change, the leading slash is removed from there, too.
* document wikistatedir, though it's still internalJoey Hess2008-11-07
|
* meta: Plugin is now enabled by default since the basewiki uses it.Joey Hess2008-11-06
|
* allow_symlinks_before_srcdir is a booleanJoey Hess2008-10-29
|
* untrusted committers code seems to be fully workingJoey Hess2008-10-23
| | | | Still need to investigate possible races, and test some more.
* more work on untrusted committersJoey Hess2008-10-23
| | | | | Wired up check_canedit and check_canremove, still need to deal with check_canattach, and test.
* initial support for git repos with untrusted committersJoey Hess2008-10-22
| | | | | 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.
* function injection overhaulJoey Hess2008-10-21
| | | | | | | | | | | 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.
* add displaytime hookJoey Hess2008-10-19
| | | | | | | | 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.
* fix relativedate timezone inclusionJoey Hess2008-10-19
| | | | | | The machine parseable date needs to include a timezone. Also, simplified the interface for date display.
* add_underlay: avoid adding the same underlay twiceJoey Hess2008-10-17
|
* lockedit: Support specifying which users (and IP addresses) a page is locked ↵Joey Hess2008-10-08
| | | | 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.)
* typoJoey Hess2008-10-01
|
* add newpagefile functionJoey Hess2008-09-29
|
* Add indexpages optionJoey Hess2008-09-29
| | | | | | | | | | This is the easy part of supporting foo/index.mdwn sources for page foo. Note that if foo.mdwn exists too, there will be a warning about multiple sources for the same page, and which is used is indeterminate. indexpages should also cause web based editing to create index source pages by default; this and other fallout of the option not yet implemented.
* editpage: Be more aggressive (and less buggy) about cleaning up temporary ↵Joey Hess2008-09-27
| | | | files rendered during page preview.
* Add %wikistate, which is like %pagestate except not specific to a given ↵Joey Hess2008-09-27
| | | | page, and is preserved across rebuilds.
* Reorganize index file, add a format version field.Joey Hess2008-09-27
| | | | | | | | | | Upgrades to the new index format should be transparent. The version field is 3, because 1 was the old textual index, 2 was the pre-versioned format. This also includes some efficiency improvements to index loading, by not copying a hash and using a reference.
* Export pagetitle, titlepage, linkpage.Joey Hess2008-09-27
|
* Add keepextension parameter to htmlize hook. (Willu)Joey Hess2008-09-23
|
* Improve error message if external plugin fails to load. Closes: #498458Joey Hess2008-09-11
|
* Add allow_symlinks_before_srcdir to config so websetup doesn't eat it.Joey Hess2008-09-09
|
* editpage: New core plugin factoring out page editing to allow disabling it ↵Joey Hess2008-09-05
| | | | if desired.
* For fine control over what characters are allowed, unescaped in source ↵Joey Hess2008-09-04
| | | | filenames, the wiki_file_chars setting is added. For example, set to "-[:alnum:]+/._" to disable colons from being used in source files (which can cause trouble om Windows).
* Work around perl $_ scoping nonsense that caused breakage when loading ↵Joey Hess2008-08-29
| | | | external plugins.
* Options set in the setup file are now immediatly loaded by ikiwiki -setup. ↵Joey Hess2008-08-06
| | | | This allows later switches to override them. Previously, setup file options overrode most command line options.
* typoJoey Hess2008-08-05
|
* Revert "typo"Joey Hess2008-08-05
| | | | This reverts commit c8d3626c51bdc53781d9431b1da88ae1e92dc2d5.
* typoJoey Hess2008-08-05
|
* don't set values for verbose and syslog by defaultJoey Hess2008-08-05
| | | | | | | | Setting the values in the setup file by default makes it annoyingly hard to override them at the command line (since setup files override the command line). Both default to off if no value is set.
* improve fix to DTRT for a param of "0"Joey Hess2008-08-04
|
* Suppress warning about uninitialized value if directives look like [[!foo]]Simon McVittie2008-08-04
| | | | (cherry picked from commit cf58eefaa56eb17c227d97d129bf95e3dab54fd3)
* reorg settingsJoey Hess2008-08-03
|
* add advanced and basic modesJoey Hess2008-08-03
|
* rewordJoey Hess2008-08-03
|
* show unsafe options (RO) by defaultJoey Hess2008-08-02
| | | | | Small data leak, but only to admins, and I think it's worth it to see the stuff that cannot be configured.
* websetup form display doneJoey Hess2008-08-02
|
* banned_users move to setup file, stage 1Joey Hess2008-08-01
|