Commit Graph

1645 Commits (be5d11338392c651f91c59d26c16f86573046945)

Author SHA1 Message Date
Simon McVittie 42b15f7633 smcvpostcomment: avoid warnings if form field 'body' is undef 2008-12-11 21:14:01 +00:00
Simon McVittie e65c7b73af smcvpostcomment: load inline plugin more forcibly 2008-12-11 21:14:01 +00:00
Simon McVittie 49835784d8 smcvpostcomment: use better names for special comment files 2008-12-11 21:14:01 +00:00
Simon McVittie bd8c4674a8 smcvpostcomment: use gettext where appropriate 2008-12-11 21:14:01 +00:00
Simon McVittie f77f7a02a6 Add initial version of a postcomment plugin (temporarily namespaced as smcvpostcomment) 2008-12-11 21:14:01 +00:00
Joey Hess b67632cdcd inline: Support feedfile option to change the filename of the feed generated. 2008-12-11 15:01:26 -05:00
Joey Hess 63eb9d834e inline: Support emptyfeeds=no option to skip generating empty feeds. 2008-12-11 14:04:38 -05:00
Joey Hess 38f5e3ba69 move feedpages application up
I wanted this nearer to the top, but decided to put it after the
add_depends. Reasoning: It's possible with a combinaton of feedpages and
show options to make @list and @feedlist contain completly differing sets
of pages. We want to add_depends all pages in both sets. We could combine
the two lists and add_depends that, but it's slightly more efficient to
defer reducing @feedlist, and add_depends whichever list is longer.
2008-12-11 13:58:40 -05:00
Joey Hess a990afd2f7 avoid uninitialized value warning 2008-11-18 13:46:03 -05:00
Joey Hess e307eeda3d html escaping complication
Can't escape things to entities if the template then escapes the entities.
(aggregate doesn't have this problem.)
2008-11-18 02:48:24 -05:00
Joey Hess 15269fed64 improve escaping of wikilinks and preprocessor directives
The old method failed for '[' x 3.
2008-11-18 02:43:17 -05:00
Joey Hess 75f262f44d call decode_utf8 inside eval
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-17 15:56:15 -05:00
Joey Hess 181bdbe1a9 use HTML::Entities 2008-11-17 14:27:11 -05:00
Joey Hess e8a945845b use perl modules up front
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-17 14:19:15 -05:00
Simon McVittie e7a840ed9a htmlbalance: new plugin that balances tags by parsing and re-serializing 2008-11-17 10:46:21 +00:00
Joey Hess ecd4f0ee55 make unlockwiki drop the cgilock
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-11 20:48:02 -05:00
Joey Hess eef8b966b3 O_CREATE needs mode 2008-11-11 15:53:55 -05:00
Joey Hess 9a48669f1e avoid multiple ikiwiki cgi processes piling up, eating all memory, and thrashing
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-11 15:40:04 -05:00
Joey Hess 6611f3a2d9 bzr: Fix dates for recentchanges. 2008-11-11 13:44:47 -05:00
Joey Hess 53752bcb5d remove redundant link munge
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-10 21:47:29 -05:00
Joey Hess f8a09ba105 tag: Normalize tagbase so leading/trailing slashes in it don't break things. 2008-11-10 19:48:58 -05:00
Joey Hess f0e58faefa Add rel=nofollow to recentchanges_links for the same (weak) reasons it was earlier added to edit links. 2008-11-10 18:05:30 -05:00
Joey Hess 11d377af81 txt: Do not encode quotes when filtering the txt, as that broke later parsing of any directives on the page. 2008-11-06 20:49:18 -05:00
Joey Hess db5ea4d4f0 meta: Plugin is now enabled by default since the basewiki uses it. 2008-11-06 16:08:11 -05:00
Joey Hess ecf2399f4f aggregate: Try to query XML::Feed for the base url when derelevatising 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-06 16:05:10 -05:00
Joey Hess 42b4abee1d use error for two messages 2008-11-05 01:38:36 -05:00
Joey Hess d71caffb7b preprocess text before htmlizing it 2008-11-02 12:21:15 -05:00
Joey Hess bb841f94f4 format: New plugin, allows embedding differntly formatted text inside a page (ie, otl inside a mdwn page, or syntax highlighted code inside a page). 2008-10-31 16:42:20 -04:00
Joey Hess ae0a9d50be set ctime in --render mode if not known
Avoids some uninitialised value warnings.
2008-10-30 14:50:33 -04:00
Joey Hess 354d22e27b don't rely on plugin load order when determining generated directives
Instead, shortcuts will explicitly be marked as such when registered, and
listdirectives can filter them out.
2008-10-30 13:41:19 -04:00
Joey Hess 33a0e84ddb fix preview of shortcuts
Move shortcut processing back to checkconfig, and avoid it failing if the
srcdir is not defined.
2008-10-29 14:20:31 -04:00
Joey Hess 5b7677faba fix display of error msg 2008-10-29 13:38:26 -04:00
Joey Hess 8530e827b0 git: Allow [[sha1_commit]] to be used in the diffurl, to support cgit. 2008-10-27 14:45:54 -04:00
Joey Hess d3d3999410 do no-op post_commit test in wrapper
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-26 15:13:04 -04:00
Joey Hess 7ddea03684 move untrusted committer test into the wrapper
This saves around 1/4th second per trusted commit since ikiwiki
doesn't need to start up.
2008-10-26 14:03:18 -04:00
Joey Hess 4a7ac5c251 remember how to write C code
been a while!
2008-10-24 15:49:55 -04:00
Joey Hess 146192d5b0 the pre-receive wrapper needs to be suid after all
It needs to write to the user db.
2008-10-24 15:47:42 -04:00
Joey Hess 761dee41b1 export CALLER_UID 2008-10-24 15:46:29 -04:00
Joey Hess 739e2ca0b4 can't lock wiki due to permissions (probably)
luckily, don't really need to here
2008-10-24 15:02:54 -04:00
Joey Hess 1a883b3c50 include temp file for attachment change too 2008-10-24 13:44:03 -04:00
Joey Hess 0196e1f9fc updates 2008-10-24 13:29:41 -04:00
Joey Hess fbcb8553df really fix calls to check_can* 2008-10-24 13:29:30 -04:00
Joey Hess 85f4b99710 untrusted committers code seems to be fully working
Still need to investigate possible races, and test some more.
2008-10-23 18:05:57 -04:00
Joey Hess f349e4ef36 fix calls to check_*
These throw errors, do not have useful return codes.
2008-10-23 18:05:12 -04:00
Joey Hess ad9e443f22 check_canattach hooked up 2008-10-23 16:56:40 -04:00
Joey Hess 4669eab596 more work on untrusted committers
Wired up check_canedit and check_canremove, still need to deal with
check_canattach, and test.
2008-10-23 16:29:50 -04:00
Joey Hess 094af3d113 initial support for git repos with untrusted committers
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-22 20:52:34 -04:00
Joey Hess e75818572f function injection overhaul
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-21 17:57:19 -04:00
Joey Hess 327adadf04 disable warnings when redefining functions 2008-10-21 17:03:08 -04:00
Joey Hess ee1ccfa863 use relativedate as the css class for dates that should display relative 2008-10-20 19:22:22 -04:00
Joey Hess a2839de936 tag: When tagpage is set, force the links created by tagging to point at the 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-20 18:17:03 -04:00
Joey Hess 5e52bfb2e7 inline: Only the last feed link was put on the page, fix this to include all feed links. So rss will be included along with atom, and pages with multiple feeds will get links added for all feeds. 2008-10-20 15:25:45 -04:00
Joey Hess 423fae6f18 Use the pure perl Data::Dumper when generating setup files to ensure that 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-19 21:23:48 -04:00
Joey Hess 3e992b758b Fix issue with utf-8 in wikiname breaking session cookies, by entity-encoding the wikiname in the session cookie. 2008-10-19 21:07:12 -04:00
Joey Hess fd9393ef85 add displaytime hook
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-19 20:12:37 -04:00
Joey Hess db146d9f1e need to use localtime, fix width 2008-10-19 19:39:32 -04:00
Joey Hess 2b569f99d9 fix relativedate timezone inclusion
The machine parseable date needs to include a timezone.

Also, simplified the interface for date display.
2008-10-19 19:21:44 -04:00
Joey Hess 2321906cd7 mark up date so relativedate will work 2008-10-19 15:17:00 -04:00
Joey Hess cb9a695443 fix url 2008-10-17 22:04:43 -04:00
Joey Hess 35c56622ea tweak recentchanges permalink code
Need to handle the case where url is not set.
2008-10-17 21:54:42 -04:00
Joey Hess fdb5da46b0 Patch for anchor-based change permalinks in recent changes feed
from JasonBlevins
2008-10-17 21:49:55 -04:00
Joey Hess 745dc1c62f add missing getsetup hook 2008-10-17 21:29:05 -04:00
Joey Hess 02ec92c6cb make relativedate work for the dates on the recentchanges page
Having a always current relative date on recentchanges is very, very nice.
2008-10-17 21:21:07 -04:00
Joey Hess 7390a7a072 relativedate: New javascript-alicious plugin that makes all dates display relative, in a very nice way, if I say so myself. 2008-10-17 20:47:32 -04:00
Joey Hess 79b376f991 Add an underlay for javascript, and add ikiwiki.js containing some utility code.
* 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-17 20:28:18 -04:00
Joey Hess f36080ae02 aggregate: Avoid bug that caused immediate expiration of items with a date in the future. 2008-10-16 18:20:16 -04:00
Joey Hess b8f4b9c799 inline: Use the feed's description in the rss and atom links. Closes: #502113 2008-10-15 14:45:28 -04:00
Joey Hess 02e39bf704 fix prototype 2008-10-14 15:47:19 -04:00
Joey Hess c39112e6ef inline: Allow MTIME to be used in inlinepage.tmpl. 2008-10-14 15:00:46 -04:00
Joey Hess 3b27af4a29 Pass HTTPS variable through the wrapper so that CGI->https can be used by plugins. Closes: #502047 2008-10-13 12:32:16 -04:00
Joey Hess 643c0f1afc optimise url parsing and add guard against failure to parse 2008-10-10 17:09:33 -04:00
Peter Simons f9957d11ed google plugin: Use google.com to search the local site.
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-10 17:05:02 -04:00
Joey Hess a473cb2f74 orphans: Fix unquoted page name in regexp. 2008-10-09 19:09:16 -04:00
Joey Hess d3ca495e61 lockedit: Support specifying which users (and IP addresses) a page is locked 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-08 17:47:38 -04:00
Joey Hess 1e17ea0b65 avoid $_ in a few other for loops
These were probably not currently buggy, but let's avoid bugs being
introduced by the functions called clobbering $_.
2008-10-06 16:19:54 -04:00
Joey Hess fea76a11bc remove: Avoid $_ breakage. (Stupid, stupid perl.)
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-06 16:10:47 -04:00
Joey Hess 3b47dae9ca remove, rename: Allow acting on attachments as a page is being created. 2008-10-02 12:53:53 -04:00
Joey Hess c945952381 attachment: Support adding attachments to pages even as they are being created. 2008-10-02 12:48:06 -04:00
Joey Hess e0fd02acf1 don't special case preview
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-02 12:42:46 -04:00
Joey Hess bf386e22f5 inline: Fix handling of rootpage that doesn't exist.
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-01 17:29:03 -04:00
Joey Hess 826af4600a fix subpage rename bug with indexpages
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-10-01 14:43:28 -04:00
Joey Hess 733171bf3f support indexpages 2008-09-29 19:08:12 -04:00
Joey Hess 121efb246f Removed the pagefile function, which was confusingly close in name to
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.
2008-09-29 18:59:20 -04:00
Joey Hess 2ba168ac83 use newpagefile 2008-09-29 18:52:42 -04:00
Joey Hess a7fd6debc5 support indexpages when renaming pages
Note that the page filename code used here and in editpage are identical..
2008-09-29 18:29:53 -04:00
Joey Hess 40007b8111 support indexpages when creating new pages
Initial draft, may need to factor new page filename code out into helper
function if other plugins need to do the same..
2008-09-29 18:19:44 -04:00
Joey Hess bb4211e326 avoid unnecessarily rebuilding pages with complex conditionals
I noticed that ikiwiki/formatting was beilg rebuilt when any page changed.
This turned out to be because it contained a complex conditional
"enabled(foo) or enabled(bar)", and the conditional plugin did not notice
that this consisted only of enabled() tests, and copied it unchanged into
add_depends. Thus, the page's dependencies were satisfied by any page
change.

The fix is to beef up the parser so that it can handle that and more
complex conditionals, and detect if they consist only of such tests.
2008-09-29 18:05:39 -04:00
Joey Hess 6b01fca253 use gettext 2008-09-29 17:06:56 -04:00
Joey Hess c4be16703f fix handing of case of file first created by preview but then saved
To handle this, avoid populating %renderedfiles in preview,
and in expiry, check if the file is in %renderedfiles, if it is
do not delete it since it was saved.
2008-09-29 13:25:31 -04:00
Joey Hess 2ff3c8aee7 editpage: Be more aggressive (and less buggy) about cleaning up temporary files rendered during page preview. 2008-09-27 18:02:33 -04:00
Joey Hess 61426a7186 Reorganize index file, add a format version field.
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.
2008-09-27 16:35:56 -04:00
Joey Hess 55a0361a47 template: Make edit link for new templates ensure the page is located under toplevel templates directory. 2008-09-27 15:18:36 -04:00
Joey Hess 67f38832aa htmltidy robustness fixes
* htmltidy: Avoid returning undef if tidy fails. Also avoid returning the
  untidied content if tidy crashes. In either case, it seems best to tidy
  the content to nothing.
* htmltidy: Avoid spewing tidy errors to stderr.
2008-09-27 14:27:42 -04:00
Joey Hess 9ec9d6901d Export pagetitle, titlepage, linkpage. 2008-09-27 14:27:42 -04:00
Joey Hess bfab23ce33 typo 2008-09-27 14:27:42 -04:00
Joey Hess 316ef6571b pagetype is exported 2008-09-27 13:34:46 -04:00
Joey Hess 7351d545d9 Merge commit 'smcv/beautify'
Conflicts:

	IkiWiki/Plugin/recentchanges.pm

Note that smcv's approach of using urlto also gets the url right when
redirecting to a non-html file, which is a better approach than my recent
fix to recentchanges
2008-09-27 13:00:48 -04:00
Joey Hess f181962dfc typo 2008-09-27 12:50:39 -04:00
Joey Hess 89256ab870 htmlscrubber: Add a config setting that can be used to disable the scrubber acting on a set of pages. 2008-09-26 18:07:37 -04:00
Joey Hess 83429adf04 decode utf-8 in recentchanges_link parameter 2008-09-26 15:40:01 -04:00
Joey Hess bce2a34c19 tag: Make edit link for new tags ensure that the tags are created inside tagbase, when it's set. 2008-09-25 20:25:07 -04:00
Joey Hess 965f7310fe git: Fix handling of utf-8 filenames in recentchanges.
Seems that the problem is that once the \nnn coming from git is converted
to a single character, decode_utf8 decides that this is a standalone
character, and not part of a multibyte utf-8 sequence, and so does nothing.
I tried playing with the utf-8 flag, but that didn't work. Instead, use
decode("utf8"), which doesn't have the same qualms, and successfully
decodes the octets into a utf-8 character.

Rant:

Think for a minute about fact that any and every program that parses git-log,
or git-show, etc output to figure out what files were in a commit needs to
contain this snippet of code, to convert from git-log's wacky output to a
regular character set:

if ($file =~ m/^"(.*)"$/) {
	($file=$1) =~ s/\\([0-7]{1,3})/chr(oct($1))/eg;
}

(And it's only that "simple" if you don't care about filenames with
embedded \n or \t or other control characters.)

Does that strike anyone else as putting the parsing and conversion in the
wrong place (ie, in gitweb, ikiwiki, etc, etc)? Doesn't anyone who actually
uses git with utf-8 filenames get a bit pissed off at seeing \xxx\xxx
instead of the utf-8 in git-commit and other output?
2008-09-25 18:26:42 -04:00
Joey Hess e1ba137317 attachment: Add admin() pagespec to test if the uploading user is a wiki admin. 2008-09-25 16:49:30 -04:00
Joey Hess 093e815440 aggregate: Avoid uninitialized value warnings for pages with no recorded ctime.
I saw this in the wild, apparently a page was not present on disk, but was
in the aggregate db, and not marked as expired either. Not sure how that
happened, but such pages should get marked as expired since they have an
effectively zero ctime.
2008-09-25 15:38:51 -04:00
Joey Hess 3f5ba52ee0 recentchanges: Fix redirects to non-page files. 2008-09-25 13:46:12 -04:00
Joey Hess e00df8575f rename: Hide type field from rename form when renaming attachments. 2008-09-23 19:31:34 -04:00
Joey Hess 40dc92a67b multiple rename support is working
most edge cases seem handled too
2008-09-23 19:21:05 -04:00
Joey Hess 544da9b0da Merge branch 'master' into tova 2008-09-23 17:42:38 -04:00
Joey Hess 8e0180d8ca rename, remove: Don't rely on a form parameter to tell whether the page should be treated as an attachment. 2008-09-23 17:41:05 -04:00
Joey Hess cf4db49567 factor out fixlinks 2008-09-23 17:26:46 -04:00
Joey Hess 9b57602394 factor out do_rename 2008-09-23 17:04:01 -04:00
Joey Hess 9cbc46f49a add checkbox to rename subpages too 2008-09-23 16:56:57 -04:00
Joey Hess 8494104b39 layout 2008-09-23 14:57:13 -04:00
Joey Hess 9cbcda14ac Print a debug message if a page has multiple source files. 2008-09-23 13:32:41 -04:00
Joey Hess a32c0ecd51 include perl error in warning about openid
it may be some other module missing, this way you can tell by reading the
log
2008-09-23 12:59:43 -04:00
Simon McVittie c7804cafa5 Fix typo in skeleton.pm.example: sessionncgi (with extra n)
(cherry picked from commit 72ffc85d6acb8b99839ac98a2c23dbef410b5666)
2008-09-23 12:47:02 -04:00
Simon McVittie 7f82594410 remove: redirect via urlto(), avoiding mentions of index.html 2008-09-21 18:26:48 +01:00
Simon McVittie 02923917c8 recentchanges: construct redirections via urlto(), avoiding mentions of index.html 2008-09-21 18:26:48 +01:00
Simon McVittie 97e3263ad1 poll: Use urlto to produce redirection URLs, avoiding mentions of index.html 2008-09-21 18:26:48 +01:00
Simon McVittie e73987b01d editpage: beautify redirection URLs, avoiding exposing the implementation detail that index.html exists 2008-09-21 18:26:42 +01:00
Joey Hess 4c68e149e5 handle templates with special characters in name
The template field is really a link, so needs to be converted to a page
name in stored state.
2008-09-20 23:00:19 -04:00
Joey Hess 5e713047b4 avoid uninitialised value warning 2008-09-20 22:51:42 -04:00
Joey Hess 12eb585353 add missing page name sanity check 2008-09-20 22:48:22 -04:00
Joey Hess 748d375954 avoid warning if percent value is not numeric 2008-09-20 16:31:27 -04:00
Joey Hess 84347a1247 avoid duplicate template lookup 2008-09-20 16:23:15 -04:00
Joey Hess 6088ad861c revert colon part of change 2008-09-20 16:21:04 -04:00
Joey Hess a6fc3b411f edittemplate patch from Willu
* edittemplate: Default new page file type to the same type as the template.
  (willu)
* edittemplate: Add "silent" parameter. (Willu)
* edittemplate: Link to template, to allow creating it. (Willu)
2008-09-20 16:19:09 -04:00
Joey Hess 9a9b25346d i18n 2008-09-19 13:52:01 -04:00
Joey Hess 779c5214f3 progress: Display an error if the progress cannot be parsed, and allow the percent parameter to only optionally end with "%". 2008-09-19 13:09:50 -04:00
Joey Hess 914c92c4e1 fix check for nonexistant content 2008-09-17 18:19:52 -04:00
Joey Hess 89953e3e19 store ctime for use by expiry code
The expiry code does need to make sure to sort in ctime order, even if
expiring by count, so it expires the right ones.
2008-09-17 18:11:22 -04:00
Joey Hess 1cb4154bc8 aggregate: Support atom feeds with only a summary element, and no content elements. 2008-09-17 15:56:58 -04:00
Joey Hess da7c6eb1b4 editdiff: Broken since 2.62 due to wrong syntax, now fixed. 2008-09-17 14:34:02 -04:00
Joey Hess b540b263de aggregate: Allow expirecount to work on the first pass. (expireage still needs to wait for the pages to be rendered though) 2008-09-17 14:27:31 -04:00
Joey Hess ee94407891 rootpage is not a pagespec
So ./posts won't be interpreted right. Just "posts" should do, I think.
2008-09-14 13:50:34 -04:00
Joey Hess bc7381c4f9 listdirectives: Enable use of the directives underlay. 2008-09-11 18:46:32 -04:00
Joey Hess d76c8aa013 change git hook description
It doesn't have to be a post-update hook.
2008-09-11 15:53:25 -04:00
Joey Hess d9d783c4bc goodstuff update
* goodstuff: Remove otl plugin from the bundle since it needs a significant
  external dependency and is not commonly used. If you use otl, make sure
  you explicitly enable it now.
* goodstuff: Add more, progress, and table plugins to the bundle.
2008-09-09 16:11:16 -04:00
Joey Hess 5d53fab853 img: Support sizes like 200x. Closes: #475149 2008-09-09 15:20:06 -04:00
Joey Hess 6f46cc3b31 progress: New plugin to generate progress bars (willu) 2008-09-09 14:44:58 -04:00
Joey Hess 2b53de66a0 ddate: Stop clobbering timeformat when not enabled. 2008-09-08 19:40:23 -04:00
Joey Hess f888ceafee minor optimisation 2008-09-08 12:28:56 -04:00
Joey Hess 0f67e7d969 editpage: New core plugin factoring out page editing to allow disabling it if desired. 2008-09-05 13:57:25 -04:00
Joey Hess 7d3047b6d8 UNIVERSAL not used in this plugin 2008-09-05 13:44:52 -04:00
Joey Hess 3c022e2cd7 use yesno 2008-09-02 18:20:17 -04:00
Joey Hess 657bf7846d table: Support header=column to make the table header be the first column of the data. (AlexandreDupas) 2008-09-02 14:57:20 -04:00
Joey Hess b7458c48d8 filecheck: Fall back to testing for binary or plain text files if no mime type is detected. 2008-09-01 15:00:15 -04:00
Joey Hess 000c87f510 don't fail if %config is not set 2008-09-01 11:26:03 -04:00
Joey Hess 2a29641097 Set cookies HttpOnly. 2008-08-28 16:09:58 -04:00
Joey Hess 2b602e2e9f filecheck: Fixed two bits broken in move from attachment. 2008-08-28 13:04:45 -04:00
Joey Hess b9efeba972 humansize moved to filecheck
It's not used there, but it makes sense to keep it there as it's the
inverse of parsesize.
2008-08-27 15:31:48 -04:00
Joey Hess b1d8437f8a if extrafooter is already set, append to it
to interoperate with future plugins using it
2008-08-26 18:04:45 -04:00
Joey Hess a326ffed1f autoindex: Avoid re-adding previously deleted (or renamed) pages. 2008-08-26 14:39:47 -04:00
Joey Hess 042a057778 color: New plugin from ptecza. 2008-08-26 13:22:34 -04:00
Joey Hess 6364949dfc remove dead code 2008-08-26 12:28:59 -04:00
Joey Hess d06096ad0d edittemplate: Don't wipe out edits on preview. 2008-08-25 20:51:10 -04:00
Joey Hess 78e34fbdc2 filecheck: New plugin factoring out the PageSpec additions that were originally part of the attachment plugin. 2008-08-25 19:52:34 -04:00
Joey Hess 8eb65c1ef1 update 2008-08-25 14:21:04 -04:00
Joey Hess 4956623ee6 rename plugin
I don't want to be stuck renameing it later if preprocessor directives are
turned into postprocessor directives. Also, "directives" is shorter and
clearer than "preprocessors".
2008-08-25 13:38:44 -04:00
Joey Hess c62cbc31c2 indentation, style, and fixed name of preprocessor_description_dir 2008-08-25 13:36:06 -04:00
Joey Hess 029edd9b45 plugin by willu 2008-08-25 13:28:25 -04:00
Joey Hess 69e35d3c51 willu's teximg changes
* teximg: The prefix is configurable, and has changed to not include the
  nonstandard mhchem by default. (willu)
* teximg: dvipng is used if available to render images. Its output is
  antialiased and better than dvips. If not available, the old dvips+convert
  chain will be used. (willu)
* Drop suggests on texlive-science, add suggests on dvipng.
2008-08-24 15:21:51 -04:00
Joey Hess 9b10f5eab2 map: The fix for #449285 was buggy and broke display of parents in certian circumstances.
The use of $dummy was not sufficient, because it only stuck around for the
first element after a dummy parent, and was then lost. Instead, use a
$addparent that contains the actual dummy parent, so it can be compared
with the new item to see if we're still under that parent or have moved to
another one.
2008-08-23 13:10:49 -04:00
Joey Hess d84e43faac fix my broken fix 2008-08-23 12:48:01 -04:00
Joey Hess d23943ebea fix off-by-one, and fix link
The link was broken if the inserted dir was not under the destpage
2008-08-23 12:37:19 -04:00
Joey Hess 15a0a151bf fix links to inserted parent pages
The parent page names had "/" prepended, which caused broken links.
2008-08-23 12:28:18 -04:00
Joey Hess 3069c7b36a fix directory uniquification code 2008-08-22 21:52:03 -04:00
Joey Hess 4643233c18 monotone updates
- Try to configure a wrapper
- Fix (?) ikiwiki-makerepo repo name mangling
- Add big warning about passphrases
- Doc updates
2008-08-22 00:22:02 -04:00
Joey Hess 6cf96b5819 Fix bug in wikiname sanitisation in the setup automator. 2008-08-21 23:40:11 -04:00
Joey Hess 00a4271290 improve handling of typoed or problem rcs 2008-08-21 23:07:29 -04:00
Joey Hess 5d83e7359d graphviz: Fix breakage of the name of the preprocessor directive. 2008-08-14 14:44:30 -04:00
Joey Hess 6432d15cb4 fix a common case typo 2008-08-12 15:48:44 -04:00
Joey Hess d50376a05d default to looking at page source file if no file is specified
This will allow these pagespecs to be used a bit more generally.
2008-08-12 15:34:47 -04:00
Joey Hess 88e389ef1e error if ping fails, rather than printing debug 2008-08-11 13:03:30 -04:00
Joey Hess 3de7d39ec6 use srcfile/destfile
avoids a commit message of "renamed foo to foo"
2008-08-07 16:20:35 -04:00
Joey Hess 11550f9593 avoid link fixup if page name stayed the same 2008-08-07 16:17:50 -04:00
Joey Hess 46b9a83b61 page file type rename patch from willu 2008-08-07 16:09:41 -04:00
Joey Hess 581381e335 inline: Ignore parent dirs when sorting pages by title. 2008-08-07 15:47:59 -04:00
Joey Hess adc2eb3d8c Options set in the setup file are now immediatly loaded by ikiwiki -setup. This allows later switches to override them. Previously, setup file options overrode most command line options. 2008-08-06 01:58:04 -04:00
Joey Hess 6fb6d51524 fix inverted test 2008-08-06 01:15:48 -04:00
Joey Hess 86660e9c82 external: Fix support for hooks called in an array context. 2008-08-06 01:05:44 -04:00
Joey Hess 9cb415f4a4 autoindex: Ignore internal pages, and take underlay directories into account. Also, avoid making index pages for directories that contain no files. 2008-08-06 00:04:05 -04:00
Joey Hess bf8558f346 save to real setup file, and rebuild/refresh 2008-08-05 20:11:56 -04:00
Joey Hess 83888b75f1 save the full path to the setup file 2008-08-05 20:11:23 -04:00
Joey Hess 46b3f54ab6 typo 2008-08-05 19:58:33 -04:00
Joey Hess 4b4bce5006 Revert "typo"
This reverts commit c8d3626c51.
2008-08-05 19:39:30 -04:00
Joey Hess 4b994ffed1 avoid forcing syslog setting
This avoids forcing the setting to 0 if it was not set at all.
2008-08-05 19:36:53 -04:00
Joey Hess c8d3626c51 typo 2008-08-05 19:30:09 -04:00
Joey Hess 6e2f9e97f3 Add simple patch to silence a warning when using monotone 2008-08-04 15:00:47 -04:00
Joey Hess e48f8ff8a9 hm 2008-08-04 14:53:11 -04:00
Joey Hess 0c3291d4f3 plugin enable/disable working and bugfixes 2008-08-03 22:16:38 -04:00
Joey Hess a4ce6550eb loosen qw regexp 2008-08-03 22:16:38 -04:00
Joey Hess 6d15912e8f work around strange problem with banned_users
Its value was being ignored. Some kind of formbuilder bug?
Anyway, prefixing all keys with a section seems like a good idea
generally, in case there's ever overlap.
2008-08-03 21:06:13 -04:00
Joey Hess 4b79a43db6 checkboxes back 2008-08-03 20:51:46 -04:00
Joey Hess 2a712c8817 use radio, not checkbox, for booleans
Had to do this due to one of CGI::FormBuilder's more annoying quirks -- it
loses the value of a checkbox field with only one option, always treating
it as checked.
2008-08-03 20:20:25 -04:00
Joey Hess 3905645342 add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
Joey Hess 219afc3f9c support rebuild tristate
also some fixes to change minimisation logic
2008-08-03 18:23:17 -04:00
Joey Hess 018321f2c8 fix misc breakage from plugin safe/rebuild data addition 2008-08-03 18:17:13 -04:00
Joey Hess 39195de96e add plugin safe/rebuild info (part 2 of 3)
(brain.. melting..)
2008-08-03 17:20:21 -04:00
Joey Hess 1230e914b1 anonok is safe 2008-08-03 17:03:20 -04:00
Joey Hess 1a37848346 move plugin toggles to before config setting again 2008-08-03 16:58:16 -04:00
Joey Hess b7d6a49be4 ui improvements 2008-08-03 16:46:38 -04:00
Joey Hess aacec52a07 show force disabled plugins in advanced mode 2008-08-03 16:43:42 -04:00
Joey Hess 903213e63f add plugin safe/rebuild info (part 1 of 2)
too many plugins.. brain exploding..
2008-08-03 16:40:12 -04:00
Joey Hess 9e0cbb73fe plugin safe/rebuild controls 2008-08-03 16:23:41 -04:00
Joey Hess 4405cebd0a add advanced and basic modes 2008-08-03 14:57:24 -04:00
Joey Hess 5c0f539950 avoid adding extra disabled fields for arrays 2008-08-03 14:41:53 -04:00
Joey Hess d00f3edf13 properly support all types of data in arrays 2008-08-03 14:39:34 -04:00
Joey Hess 0f06504422 remove description_html, add link 2008-08-03 14:36:17 -04:00
Joey Hess 5ef45ca7e1 support arrays 2008-08-03 00:27:27 -04:00
Joey Hess d8b49840dd update 2008-08-02 23:59:40 -04:00
Joey Hess 7baa6320e0 rebuild detection 2008-08-02 23:32:40 -04:00
Joey Hess 8c02d670d0 pull values from form to config 2008-08-02 23:14:59 -04:00
Joey Hess f6babf662b fix syntax error with corrupt data
Just because it's supposed to be an integer or boolean doesn't mean the
vlaue really is..
2008-08-02 23:14:23 -04:00
Joey Hess 94c59d3254 collect a hash of shown fields
Need to do this to know what fields to take from CGI.
(Can't trust that only safe ones are sent..)
2008-08-02 23:06:25 -04:00
Joey Hess c762b65ce4 show unsafe options (RO) by default
Small data leak, but only to admins, and I think it's worth it to see the
stuff that cannot be configured.
2008-08-02 22:50:09 -04:00
Joey Hess 5dbd053da3 avoid syslog whining from broken plugins 2008-08-02 22:22:53 -04:00
Joey Hess 6f65cb1cbe avoid setting default value in websetup_force_plugins
This would make changes not be seen later.
2008-08-02 22:20:26 -04:00
Joey Hess 15341aed01 don't install demo external plugins by default 2008-08-02 16:53:20 -04:00
Joey Hess 4708aeceb3 websetup form display done 2008-08-02 16:41:37 -04:00
Joey Hess b0f4767448 basic form display done 2008-08-02 16:41:36 -04:00
Joey Hess 102f29e500 add description_html 2008-08-02 16:41:36 -04:00
Joey Hess 0b6dd9247b refactor 2008-08-02 16:41:35 -04:00
Joey Hess d3cad5d2ca relocate 2008-08-02 16:41:35 -04:00
Joey Hess 680cd2fbc3 skeleton of web setup plugin 2008-08-02 16:41:35 -04:00
Joey Hess 25c35b6e90 banned_users move to setup file, stage 1 2008-08-01 17:39:17 -04:00
Joey Hess 190a845fe1 hide deprecated values if empty after save 2008-08-01 17:39:17 -04:00
Joey Hess f41448d9ca rcs plugin loading reorg
Move rcs plugin load to loadplugins; move duplicate rcs detection logic out
of individual plugins and into loadplugins. Avoids checkconfig failing when
run twice.
2008-08-01 16:45:05 -04:00
Joey Hess bb394fdae8 admin prefs move to setup file, stage 1
The locked pages configuration is moving to a locked_pages option in the
setup file, and the allowed attachments configuration to
allowed_attachments. The admin prefs page can still be used for these, but
that's depreacted and will only be shown if there's currently a value.
2008-08-01 16:45:04 -04:00
Joey Hess 041923a89e Merge branch 'master' into autoconfig
Conflicts:

	IkiWiki/Plugin/git.pm
	debian/changelog
	po/ikiwiki.pot
2008-07-31 19:35:37 -04:00
Joey Hess f7b8f2297c Add test for old versions of git that don't support --cleanup=verbatim, and munge empty commit messages. 2008-07-31 19:23:54 -04:00
Joey Hess 6c8a8dd13b add guard against enabling multiple rcs plugins 2008-07-30 14:32:48 -04:00
Joey Hess 12c5786df4 Merge branch 'tova' into autoconfig
Conflicts:

	debian/changelog
2008-07-29 15:54:45 -04:00
Joey Hess f0090d8c57 check generated pages in
I considered not checking them in, or making the checkin configurable.
However, then they would remain not checked in if edited by a user, which is
probably not desired.

Note that passing undef as the username/ip to rcs_commit_staged may not
result in ideal behavior; the commit may seem to come from "anonymous" with
some revision control systems. Most of them handle it a bit better and just
have it come from whatever user is running the build.
2008-07-29 15:51:25 -04:00
Joey Hess a02c3f46ea initial draft 2008-07-29 15:39:01 -04:00
Joey Hess 37245a9988 add refresh hook 2008-07-29 15:04:34 -04:00
Joey Hess 73af360e99 fix cgiurl check 2008-07-27 19:21:56 -04:00
Joey Hess 9be28d7865 handle options with no value and no example value 2008-07-27 19:19:04 -04:00
Joey Hess 9607452346 typo 2008-07-27 16:11:06 -04:00
Joey Hess 950850f639 add new wiki to wikilist 2008-07-27 16:01:29 -04:00
Joey Hess 929a70a16d password prompt for admin user 2008-07-27 15:44:11 -04:00
Joey Hess c755bfd1d8 automator improvements 2008-07-27 15:16:03 -04:00
Joey Hess 3d4c32dace lose the ugly $rawsetup, use a function 2008-07-27 15:08:10 -04:00
Joey Hess 3d139e4312 rcs hook setup for the two I know 2008-07-27 01:50:43 -04:00
Joey Hess f28b57526c setup automator
"ikiwiki -setup /etc/ikiwiki/simple.setup"
can be used set up a new wiki in seconds
2008-07-27 01:39:11 -04:00
Joey Hess e1f7146041 avoid clobbering example diffurl 2008-07-27 00:54:15 -04:00
Joey Hess 4ef96e2d99 Merge branch 'master' into autoconfig 2008-07-26 23:22:42 -04:00
Joey Hess 618e3c1075 use new style error handling 2008-07-26 23:15:35 -04:00
Enrico Zini e3713772f7 Added cutpaste plugin.
I'm wondering if cutandpaste wouldn't be a better name.
2008-07-26 23:08:17 -04:00
Enrico Zini 02078c406c Handle the case when HTML got tidied.
This fixes debian bug #492529.
2008-07-26 23:05:57 -04:00