Commit Graph

1517 Commits (5fd230f9688bf7400f5ef962073bac8bc031e738)

Author SHA1 Message Date
Joey Hess 639f464cb3 Avoid feeding decoded unicode to Term::ReadLine
That resulted in double encoded display when using perl's stub
readline module. Apparently that module unconditionally upgrades
text to utf8, in a quite braindead way.

(Term::ReadLine::Gnu::Perl worked ok.)
2009-01-18 14:52:49 -05:00
intrigeri e9e75f5f29 Merge commit 'upstream/master' into prv/po
Conflicts:

	t/syntax.t
2009-01-18 00:38:31 +01:00
Joey Hess a94318f61c releasing version 3.02 2009-01-17 18:27:05 -05:00
intrigeri 832d4d31d1 Merge commit 'upstream/master' into prv/po
Conflicts:

	IkiWiki/Plugin/editpage.pm
	IkiWiki/Plugin/skeleton.pm.example
	doc/plugins/write.mdwn
	t/syntax.t
2009-01-17 14:01:53 +01:00
Joey Hess 8e821c0e35 reorder 2009-01-16 22:42:24 -05:00
Joey Hess 7ee92cab40 blogspam: New plugin, adding spam filtering for page editing / comment posting using the BlogSpam.net API. 2009-01-16 22:39:11 -05:00
Joey Hess f7b2cfcf50 checkcontent: New hook, can be used to implement arbitrary content filters, including spam filters. 2009-01-16 20:46:55 -05:00
intrigeri e6992480e2 Merge commit 'upstream/master' into prv/po
Conflicts:

	debian/control
2009-01-15 20:04:31 +01:00
intrigeri 82197bd0ea Merge commit 'upstream/master' into prv/po 2009-01-13 12:26:43 +01:00
Joey Hess 6d785d6401 Add auto-blog.setup
It will set up an ikiwiki instance tuned for use in blogging.

As part of this change, move the example sites into /usr/share/ikiwiki so
they are available even if docs are not installed.
2009-01-12 19:04:24 -05:00
Joey Hess 1c0f3d40f2 Recommend libterm-readline-gnu-perl
since that makes auto.setup behave better.
2009-01-12 16:52:34 -05:00
Joey Hess 69fa793e11 update with a bit more info 2009-01-11 14:31:06 -05:00
Joey Hess 85dcc2958a pinger: Get whole url, don't just head.
Asking for only the head worked in my tests, but I've found a site where it
didn't -- apparently ikiwiki didn't get a chance to do or finish the
refresh when HEADed. Getting the whole url, waiting for ikiwiki to finish,
avoided the update problem.
2009-01-11 14:27:27 -05:00
Joey Hess 7a8ea68fc0 Consistently allow use of relative paths in all PageSpecs that take a page name parameter. Previously, match_created_before(), match_created_after(), match_sourcepage(), and match_destpage() did not support that, and the docs were not clear. 2009-01-10 14:36:03 -05:00
Joey Hess af9566a695 comments: Add support for removing comments via web interface. (smcv) 2009-01-10 14:17:27 -05:00
Joey Hess 81b088866b repolist: New plugin to support the rel=vcs-* microformat.
* repolist: New plugin to support the rel=vcs-* microformat.
* goodstuff: Include repolist by default. (But it does nothing until
  configured with the repository locations.)
2009-01-07 16:07:46 -05:00
Joey Hess 551544663d comments: Fix cache avoidance hack.
The ?updated needs to come before the #anchor or browsers will not follow
the anchor.
2009-01-07 11:12:32 -05:00
Joey Hess 72ca231fd0 rename: Show full names of affected pages. 2009-01-06 17:29:12 -05:00
Joey Hess 4ce73f2d88 table: Find links in external files in scan pass. 2009-01-06 15:36:32 -05:00
Joey Hess da166e7422 table: Fix misparsed links in external files
linkify data from external files at the same time as data from an inlined
table would be linkified.
2009-01-06 15:05:09 -05:00
Joey Hess eadb078e4c releasing version 3.01 2009-01-05 19:04:03 -05:00
Joey Hess bc0de40c3c A recent change to gitweb removed support for the form of diffurl that many ikiwiki setups use. Document how to use the new url form. 2009-01-05 18:26:09 -05:00
Joey Hess b0a03fef65 yesno: Always accept English even when localised.
It seems to be a failing of i18n in unix that the translation stops at the
commands and the parameters to them, and ikiwiki is no exception with its
currently untranslated directives. So the little bit that's translated sticks
out like a sore thumb. It also breaks building of wikis if a different locale
happens to be set.

I suppose the best thing to do is either give up on the localisation of this
part completly, or make it recognise English in addition to the locale. I've
tenatively chosen the latter.

(Also accept 1 and 0 as input.)
2009-01-03 12:52:47 -05:00
Joey Hess 66ff63c296 Fix documentation about git hook to use right name. Closes: #510393 2009-01-03 12:40:22 -05:00
Joey Hess 3428cdd9d5 ikiwiki-makerepo: Fix injecting of empty mercurial and bzr repositories. Closes: #510518 2009-01-02 14:15:47 -05:00
intrigeri da26603e07 po: updated copyright years
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 16:54:03 +01:00
intrigeri 4ee7f63148 debian/control: suggest gettext, which is used by the po plugin
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 22:28:20 +01:00
intrigeri 5c2f6cb893 Merge commit 'upstream/master' into prv/po 2009-01-01 13:34:00 +01:00
Joey Hess dec016c6c9 releasing version 3.00 2008-12-31 15:21:40 -05:00
Joey Hess 3e8b7a6b19 websetup: Avoid a crash when a new array setup item has been added in a new ikiwiki release, and is thus not present in the setup file yet.
This happened with camelcase_ignore. The code tried to convert the undef
value for it into an array.
2008-12-31 00:44:54 -05:00
Joey Hess 47fc59c584 French translation update from Philippe Batailler. Closes: #510216 2008-12-30 13:38:27 -05:00
intrigeri 21add7ffa8 Merge commit 'upstream/master' into prv/po
Conflicts:

	debian/control
	debian/copyright
	doc/ikiwiki/pagespec.mdwn

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-30 18:24:36 +01:00
Joey Hess f34dc3d8bd htmlbalance: Demand-load HTML::TreeBuilder to avoid failing test suite if it is not present. 2008-12-29 15:08:18 -05:00
Joey Hess 0711c0c548 comments: Add cache avoidance.
This got lost when we added the jump-to-comment anchor.
2008-12-28 22:20:22 -05:00
Joey Hess c256a53fcb Replace blank OpenID placeholder logo with an unofficial OpenID logo developed by Anna Hess. The official logo does not seem destined to be free. 2008-12-28 16:19:47 -05:00
Joey Hess 17b2afe721 Merge branch 'master' into next
Conflicts:

	debian/changelog
	po/ikiwiki.pot
2008-12-28 15:12:11 -05:00
Joey Hess ec14786c90 releasing version 2.72 2008-12-28 15:05:05 -05:00
Joey Hess c4f3d0554a Merge branch 'master' into next 2008-12-26 16:11:13 -05:00
Joey Hess 7da319efc6 inline: Run format hook first
inline has a format hook that is an optimisation hack. Until this hook
runs, the inlined content is not present on the page. This can prevent
other format hooks, that process that content, from acting on inlined
content. In bug ##509710, we discovered this happened commonly for the
embed plugin, but it could in theory happen for many other plugins (color,
cutpaste, etc) that use format to fill in special html after sanitization.

The ordering was essentially random (hash key order). That's kinda a good
thing, because hooks should be independent of other hooks and able to run
in any order. But for things like inline, that just doesn't work.

To fix the immediate problem, let's make hooks able to be registered as
running "first". There was already the ability to make them run "last".

Now, this simple first/middle/last ordering is obviously not going to work
if a lot of things need to run first, or last, since then we'll be back to
being unable to specify ordering inside those sets. But before worrying about
that too much, and considering dependency ordering, etc, observe how few
plugins use last ordering: Exactly one needs it. And, so far, exactly one
needs first ordering. So for now, KISS.

Another implementation note: I could have sorted the plugins with
first/last/middle as the primary key, and plugin name secondary, to get a
guaranteed stable order. Instead, I chose to preserve hash order. Two
opposing things pulled me toward that decision:

1. Since has order is randomish, it will ensure that no accidental
   ordering assumptions are made.
2. Assume for a minute that ordering matters a lot more than expected.
   Drastically changing the order a particular configuration uses could
   result in a lot of subtle bugs cropping up. (I hope this assumption is
   false, partly due to #1, but can't rule it out.)
2008-12-26 16:09:23 -05:00
Joey Hess c2d2ff0199 deprecate embed plugin too
I see that this plugin's lists of safe content are already well out of
date, and htmlscrubber_skip offers a non whitelist based approach, so let's
deprecate this plugin for 3.0.
2008-12-26 15:27:49 -05:00
Joey Hess 6f1539320b Merge branch 'master' into next 2008-12-26 14:07:25 -05:00
Joey Hess 9db06329c9 comments: Deal with users entering unqualified or partial urls.
People seem to be able to expect to enter www.foo.com and get away with it.
The resulting my.wiki/www.foo.com link was not ideal.

To fix it, use URI::Heuristic to expand such things into a real url. It
even looks up hostnames in the DNS if necessary.
2008-12-26 14:07:19 -05:00
Joey Hess 914c839ceb Merge branch 'master' into next
Conflicts:

	IkiWiki/Plugin/googlecalendar.pm
2008-12-25 16:36:16 -05:00
Joey Hess 0d406010ff googlecalendar: Add runtime deprecation warning. 2008-12-25 16:31:58 -05:00
Joey Hess 5f55ee0b78 more 3.0 docs, changelog 2008-12-24 19:55:43 -05:00
Joey Hess 04f064e78a make ikiwiki-transition prefix_directives take a setup file
This is easier to remeber, and less error-prone than passing it all the
pages in the wiki.
2008-12-24 19:48:42 -05:00
Joey Hess c9e65fded1 camelcase: Add camelcase_ignore setting. 2008-12-23 19:11:03 -05:00
Joey Hess 70dc0355bd Merge branch 'master' into next
Conflicts:

	IkiWiki.pm
2008-12-23 17:22:57 -05:00
Joey Hess c8cde4858e Add deprecation warning for GlobLists, which will stop working in 3.0. 2008-12-23 17:13:57 -05:00
Joey Hess db7983c846 beginning docs for 3.0 2008-12-23 16:20:37 -05:00
Joey Hess 8dc052a1ce merge recentchanges comments fix 2008-12-22 19:04:02 -05:00
Joey Hess 836bf625c9 formatting 2008-12-21 16:45:59 -05:00
Joey Hess 4b66a8d00a openid branch merged 2008-12-21 13:14:31 -05:00
Joey Hess c84fcdd32a meta: Process meta date during scan pass so that the date will always affect sorting in inlines. 2008-12-21 01:52:08 -05:00
Joey Hess f3bec255e4 aggregate: If a feed fails to be downloaded, try again immediatly next time aggregation is run, even if the usual time has not passed. Closes: #508622 (Michael Gold) 2008-12-17 21:27:28 -05:00
Joey Hess bb93fccf06 Coding style change: Remove explcit vim folding markers. 2008-12-17 15:22:16 -05:00
Joey Hess 613a54a3cb Merge branch 'master' into comments 2008-12-17 14:06:57 -05:00
Joey Hess f9b87a9f8b monotone: When getting the log, tell monotone how many entries we want, rather than closing the pipe, which it dislikes. (thm) 2008-12-17 13:59:12 -05:00
Joey Hess b2366f764b rename: Fix double-escaping of page name in edit box.
titlepage normally escapes, but so does formbuilder.
2008-12-17 13:56:10 -05:00
Joey Hess be3579fd70 update changelog 2008-12-12 14:29:42 -05:00
Joey Hess 40a6496817 update copyright 2008-12-12 14:27:56 -05:00
Joey Hess 1f43a4fccc add log entry 2008-12-12 14:23:33 -05:00
Joey Hess 88e8d4bf8d meta: Pass info to htmlscrubber so htmlscrubber_skip can take effect. 2008-12-12 14:06:45 -05: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 c9646ac23c German translation update from Kai Wasserbäch. Closes: #507056 2008-11-28 08:52:56 -08:00
intrigeri 3190e5cea7 Merge commit 'upstream/master' into prv/po 2008-11-13 04:39:53 +01:00
Joey Hess 31a1a3215b releasing version 2.70 2008-11-12 18:01:46 -05:00
Joey Hess 716560b7f1 check for invalid utf-8, and toss it back to avoid crashes
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.
2008-11-12 17:30:54 -05: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 2a56ec6644 Merge branch 'master' into po 2008-11-11 17:52:32 -05:00
Joey Hess d1b22b2524 lockwiki changes
* 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.
2008-11-11 15:54:52 -05:00
Joey Hess 6611f3a2d9 bzr: Fix dates for recentchanges. 2008-11-11 13:44:47 -05:00
Joey Hess 6049fac46e typo 2008-11-10 21:43:59 -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 7f80e52543 Fix the link() pagespec to match links that are internally recorded as absolute.
This fixes a problem exposed by the recent change to tags
(a2839de936). 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.
2008-11-09 15:31:57 -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 f6db920536 note copyright of po.pm 2008-11-06 13:46:43 -05:00
Joey Hess c5c0f0816a suggest po4a for po plugin 2008-11-05 13:54:25 -05:00
Joey Hess 2e00af6096 releasing version 2.68 2008-11-03 16:42:06 -05:00
Joey Hess 936e016de9 reorg 2008-10-31 17:22:55 -04:00
Joey Hess 163790a3f9 typo 2008-10-31 17:21:22 -04: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 6d445cdaca fix --setup --render
In this mode, rebuild mode should not be on
2008-10-30 14:59:37 -04:00
Joey Hess 26e1fe2021 Preserve syslog setting when doing `ikiwiki -setup foo -dumpsetup bar`
The syslog value from the setup file is purposfully ignored when doing
ikiwiki -setup, so that it will output to stdout (while generating wrappers
that do use the syslog). But that caused -dumpsetup to not preserve
the syslog value from the setup file.
2008-10-29 14:28:55 -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 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 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 8821ba3a59 Optimise the no-op post-commit hook in the web edit case by skipping loading plugins. (Particularly a win when using external plugins.) 2008-10-23 14:08:45 -04:00
Joey Hess 534f714478 Updated Danish translation from Jonas Smedegaard. Closes: #503117 2008-10-23 13:45:06 -04:00
Joey Hess 479d65faa0 Updated Spanish translation from the ever vigilant Victor Moral. 2008-10-22 12:33:28 -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 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 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 ac8eb2844f Updated French translation. Closes: #502694 2008-10-19 12:59:35 -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 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 de65a62501 releasing version 2.67 2008-10-17 13:17:31 -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 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 cd305909d3 document google plugin 2008-10-10 17:13:33 -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 781760bfee Updated Spanish translation from Victor Moral. 2008-10-07 11:51:52 -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 836a522c81 releasing version 2.66 2008-10-05 19:24:38 -04:00
Joey Hess a7626cec4a fix lintian warning 2008-10-05 19:17:24 -04:00
Joey Hess 92989a3f6c make set -e 2008-10-05 19:17:16 -04:00
Joey Hess 49992eb2ce Updated French translation. Closes: #500929 2008-10-02 14:03:04 -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 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 85ec27ab58 Merge branch 'master' into tova
Conflicts:

	debian/changelog
2008-09-30 21:04:22 -04:00
Joey Hess 0651e86a4c httpauth: Document that ikiwiki.cgi has to be in a directory subject to authentication. Closes: #500524 2008-09-30 21:03:51 -04:00
Joey Hess 4c635fe225 update 2008-09-29 19:02:02 -04:00
Joey Hess a9d7c5453a Add indexpages option
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.
2008-09-29 17:30:30 -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 a5d3acd37c Add %wikistate, which is like %pagestate except not specific to a given page, and is preserved across rebuilds. 2008-09-27 16:45:27 -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 3b39e93699 Beautify urls used in various places. (smcv) 2008-09-27 13:03:21 -04:00
Joey Hess 748fc2fcd4 typo 2008-09-27 11:53:55 -04:00
Joey Hess 60a80be0b3 Epand usage message and add --help. Closes: #500344 2008-09-27 11:17:19 -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 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 b127e86b35 releasing version 2.65 2008-09-24 18:14:09 -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 e33bbb24e8 changelog 2008-09-23 19:28:05 -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 dfe55e8956 Add keepextension parameter to htmlize hook. (Willu) 2008-09-23 13:39:21 -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 12eb585353 add missing page name sanity check 2008-09-20 22:48:22 -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 c51b304d90 Fix reversion in use of ikiwiki -verbose -setup with a setup file that enables syslog.
Setup output is once again output to stdout in this case.

Implemented by stashing the verbose/syslog values set in the setup file,
and using those values in the generated wrappers, but not allowing them to take
effect during the setup operation itself, so that command-line options,
appearing before or after -setup, are honored.

Also, some cleanups to how %config is generated for wrappers, removing some
fields that do not need to be recorded inside the wrapper.
2008-09-20 15:38:02 -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 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 51f19ca4c8 releasing version 2.64 2008-09-14 17:15:38 -04:00
Joey Hess 0d6746a29f document code change in last commit 2008-09-14 13:57:37 -04:00
Joey Hess 0187c2ba0d Removed old redirecton pages from basewiki (helponformatting, markdown, openid, pagespec, preprocessordirective, subpage, wikilink). 2008-09-12 16:15:20 -04:00
Joey Hess e9468fd5eb Removed the obsolete blog page from the basewiki. ikiwiki/blog still remains, but is now deprecated too. 2008-09-11 20:15:25 -04:00
Joey Hess b9e8cb0dd1 license directive docs using basewiki license 2008-09-11 19:42:27 -04:00
Joey Hess bc7381c4f9 listdirectives: Enable use of the directives underlay. 2008-09-11 18:46:32 -04:00
Joey Hess 7d98c3d52b changelog 2008-09-11 18:32:19 -04:00
Joey Hess a87cfbcb8d Improve error message if external plugin fails to load. Closes: #498458 2008-09-11 01:41:55 -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 7a680431ed Add allow_symlinks_before_srcdir to config so websetup doesn't eat it. 2008-09-09 14:50:37 -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 0e654c1ea0 Avoid uninitialised value when --dumpsetup is used and no srcdir/destdir specified. 2008-09-08 19:21:45 -04:00
Joey Hess 2283d5d878 releasing version 2.63 2008-09-08 12:27:01 -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 a1c7f3282d po/Makefile: update po files when the pot file has changed. Closes: #497951 2008-09-05 12:37:29 -04:00
Joey Hess d2679de965 For fine control over what characters are allowed, unescaped in source 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). 2008-09-04 14:13:10 -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 a82496d35a style.css: Add missing semicolon. Closes: #497176 2008-09-01 11:25:28 -04:00
Joey Hess 75a096d056 Work around perl $_ scoping nonsense that caused breakage when loading external plugins. 2008-08-29 18:40:41 -04:00
Joey Hess 981d0474a1 Ignore failure to install files into /etc, in case install is running as non-root. 2008-08-29 15:53:46 -04:00
Joey Hess 70d8df54a5 Typo. Closes: #497003 2008-08-29 11:30:51 -04:00
Joey Hess 2a29641097 Set cookies HttpOnly. 2008-08-28 16:09:58 -04:00
Joey Hess dfea7fa1ac releasing version 2.62.1 2008-08-28 13:08:20 -04:00
Joey Hess 2b602e2e9f filecheck: Fixed two bits broken in move from attachment. 2008-08-28 13:04:45 -04:00
Joey Hess 90b8535b57 releasing version 2.62 2008-08-27 15:40:42 -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 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 744a0edcfb update 2008-08-25 14:21:46 -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 4cec43e1b9 update 2008-08-25 13:30:36 -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 db73f81258 ikiwiki-makerepo: Added support for monotone. (Thomas Keller) 2008-08-21 23:44:00 -04:00
Joey Hess 6cf96b5819 Fix bug in wikiname sanitisation in the setup automator. 2008-08-21 23:40:11 -04:00
Joey Hess 15ed67132e Revert "Add missing PREFIX to a few lines of the Makefile. (Thomas Keller)"
This reverts commit 65c12dffec.

Turns out we can't use PREFIX for files in /etc, because that would tend to
put them in /usr/etc, which is bad..
2008-08-21 23:12:14 -04:00
Joey Hess 888f4203f5 Avoid using hostname -f for portability to eg, OS X, use Net::Domain instead, and prompt if it fails. 2008-08-21 22:48:07 -04:00
Joey Hess 65c12dffec Add missing PREFIX to a few lines of the Makefile. (Thomas Keller) 2008-08-21 22:25:36 -04:00
Joey Hess dec9b4e2c9 Avoid using cp -a (again). (HenrikBrixAndersen) 2008-08-21 16:21:40 -04:00
Joey Hess 0ab3ed872b releasing version 2.61 2008-08-14 21:11:45 -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 b39b92c0a6 releasing version 2.60 2008-08-12 14:28:13 -04:00
Joey Hess 6edd22808e Danish update. Closes: #494632 2008-08-11 12:47:39 -04:00
Joey Hess c98ea6a971 close bug, changelog 2008-08-07 16:21:58 -04:00
Joey Hess 581381e335 inline: Ignore parent dirs when sorting pages by title. 2008-08-07 15:47:59 -04:00
Josh Triplett cc43a6ea70 Add Suggests on texlive and texlive-science for the teximg plugin 2008-08-06 20:58:42 -07:00
Joey Hess 6cfb5c5b59 Added a small icon to the search input box. 2008-08-06 19:34:33 -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 86660e9c82 external: Fix support for hooks called in an array context. 2008-08-06 01:05:44 -04:00
Joey Hess 4c07e7362c update 2008-08-06 00:23:22 -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 ea6dc38325 add ikiwiki-transition setupformat subcommand.
Also fixed a bug in how aggregateinternal used IkiWiki::Setup::load,
and added checks for arguments to other subcommands.
2008-08-05 20:40:49 -04:00
Joey Hess 29ab73258f Clarify some wording in the setup documentation that could maybe lead users to putting paths with "~/" in the setup file, which doesn't work. Closes: #493835 2008-08-05 16:57:49 -04:00
Joey Hess 0f06504422 remove description_html, add link 2008-08-03 14:36:17 -04:00
Joey Hess d9db5f2def Bail if both srcdir and repository are not specified. 2008-08-03 14:21:43 -04:00
Joey Hess 25c35b6e90 banned_users move to setup file, stage 1 2008-08-01 17:39:17 -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 0f312d152e releasing version 2.56 2008-07-31 19:29:29 -04:00
Joey Hess d266c4dc45 Revert "increase minimum git version"
This reverts commit 391c5c2cb5.
2008-07-31 19:24:35 -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 391c5c2cb5 increase minimum git version
git commit --cleanup=verbatim was first introduced in git 1.5.4.
2008-07-31 19:01:02 -04:00
Joey Hess 71eb56bcac merged 2008-07-31 18:52:30 -04:00
Joey Hess e12627e0a4 update 2008-07-30 14:44:50 -04:00
Joey Hess 12c5786df4 Merge branch 'tova' into autoconfig
Conflicts:

	debian/changelog
2008-07-29 15:54:45 -04:00
Joey Hess 106578f524 changelog 2008-07-29 15:54:07 -04:00
Joey Hess 1916afc603 rename 2008-07-27 16:08:44 -04:00
Joey Hess ddef0d3170 Merge branch 'master' into autoconfig
Conflicts:

	debian/changelog
	doc/todo/color_plugin.mdwn
2008-07-27 11:43:47 -04:00
Joey Hess ccd567948e releasing version 2.55 2008-07-27 11:32:05 -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 bc3363beb7 ikiwiki-update-wikilist: Add -r switch to remove. Default behavior is now always to add. 2008-07-27 00:02:04 -04:00
Joey Hess 4ef96e2d99 Merge branch 'master' into autoconfig 2008-07-26 23:22:42 -04:00
Joey Hess ecc40d1769 changelog and tweaks 2008-07-26 23:15:50 -04:00
Joey Hess 1c831b472b changelog 2008-07-26 23:06:40 -04:00
Joey Hess e99cc6dd9e generate an example ikiwiki.setup as part of the build 2008-07-26 23:02:46 -04:00
Joey Hess 4f06e7402a remove ikiwiki.setup
To generate your own, use ikiwiki -dumpsetup ikiwiki.setup

Update docs.
2008-07-26 22:55:39 -04:00
Joey Hess 6154dd03cb finish with rcs plugin conversion 2008-07-26 22:28:18 -04:00
Joey Hess c83fd4a328 wrapper setup reorg
Flattened the wrapper setup, as this lets it be handled better by the
setup generation code.
2008-07-26 21:00:11 -04:00
Joey Hess 4ee441c152 changelog 2008-07-26 16:23:29 -04:00
Joey Hess b7bf566f55 attachment: Use relative paths when inserting links. 2008-07-25 19:22:29 -04:00
Joey Hess 99ec944766 bzr (mostly) done 2008-07-25 12:16:21 -04:00
Joey Hess 99b59f2d62 toggle: Fix incompatability between javascript and webkit. 2008-07-25 01:24:20 -04:00
Joey Hess 36a0d984c9 fix monotone/mercurial confusion 2008-07-24 22:03:38 -04:00
Joey Hess 58e2b2c99c mercurial: Add support for rename, delete, and also diff. (William Uther) 2008-07-24 14:17:04 -04:00
Joey Hess 4691a2ad39 add renamepage hooks
Implemented for regular wikilinks, with a test suite.
2008-07-23 18:14:20 -04:00
Joey Hess 96dab37a8e Merge branch 'master' into tova 2008-07-23 17:34:01 -04:00
Joey Hess b95669c3c8 Rebuild pages that change their type. (Gabriel McManus) 2008-07-23 16:13:37 -04:00
Joey Hess 335a6a59e6 Merge branch 'master' into tova 2008-07-23 15:00:07 -04:00
Joey Hess 1d1767192c attachment: Do not escape _ when determining attachment filenames. 2008-07-23 14:58:39 -04:00