Commit Graph

1294 Commits (ffa2913b453f4318b032abfbb593fdae956d88a4)

Author SHA1 Message Date
Joey Hess fab1333b67 Filter hooks are no longer called during the scan phase. This will prevent wikilinks added by filters from being scanned properly. But no known filter hook does that, and calling filters unncessarily during scan slowed down complex filters such as the one used to update the xapian index. 2008-06-04 00:15:15 -04:00
Joey Hess 53b188ed35 add a colon to disambiguate
The omega docs suggest doing this if the term may contain upper case, which
it could here.
2008-06-03 23:59:25 -04:00
Joey Hess 9c717d0873 avoid warning
"substr outside of string"
2008-06-03 23:58:19 -04:00
Joey Hess 7fc29119db use "U" term
this seems to be the thing to use for a unique id
2008-06-03 23:56:45 -04:00
Joey Hess 3ba723d79a don't loop forever 2008-06-03 23:55:00 -04:00
Joey Hess 6b7d90d88a fixed most of the xapian todos 2008-06-03 23:52:56 -04:00
Joey Hess 18b0aa1f13 prettify page names, and drop the redunadant url display 2008-06-03 22:11:33 -04:00
Joey Hess 02357b0b32 fix toindex 2008-06-03 21:59:21 -04:00
Joey Hess 44fde6cbff first pass at doing xapian indexing
Still some TODOs to fill in.
2008-06-03 21:14:56 -04:00
Joey Hess 8a6a5320ed search: Converted to use xapian-omega.
Everything is done except for the actual indexing. I plan to do incremental
indexing as pages change.
2008-06-03 15:29:54 -04:00
Joey Hess 99e5e6dd08 inline: The optimisation in 2.41 broke nested inlines. Detect those and avoid overoptimising. 2008-05-31 15:10:23 -04:00
Joey Hess 0a35e8a352 haiku: Generate valid xhtml. 2008-05-30 19:10:58 -04:00
Joey Hess e943812dc9 hashed password support, and empty password security fix
This implements the previously documented hashed password support.

While implementing that, I noticed a security hole, which this commit
also fixes..
2008-05-30 17:35:34 -04:00
Joey Hess 9d93029f01 teximg: If the log isn't written, avoid ugly error messages. 2008-05-29 19:29:40 -04:00
Joey Hess b0a7b2f3d7 teximg: Fix logurl. 2008-05-29 19:28:46 -04:00
Joey Hess d5d56a24bd When calling decode_utf8 on known-problimatic content in aggregate, explicitly pass 0 (FB_DEFAULT) as the second parameter. Apparently perl 5.8 needs this to avoid crashing on malformed utf-8, despite its docs saying it is the default. 2008-05-28 15:38:04 -04:00
Thomas Schwinge 1e16ab178d Avoid ``uninitialized value'' warning when there actually is no difference between the two versions. 2008-05-25 14:25:34 -04:00
Joey Hess f6f25758a8 Perls older than 5.10 need to use the old method of decoding utf-8 in CGI values. Neither method will work for all versions of perl, so check version number at runtime. 2008-05-21 15:30:56 -04:00
Joey Hess 9a8a67f078 display an error message if CGI::Session fails to load 2008-05-21 15:15:11 -04:00
Joey Hess 0bf5248427 git: Skip over signed-off-by and similar lines in commit messages when generating recentchanges. 2008-05-15 18:03:44 -04:00
Joey Hess 8a888a8fed inline: Display a message if the 'pages' parameter is missing, before it just expanded to nothing. 2008-05-15 17:22:54 -04:00
Joey Hess 833610a5b4 orphans: As a special case, the toplevel index page is never considered an orphaned page. 2008-05-15 16:47:44 -04:00
Joey Hess fba4a198b5 mdwn: Add a multimarkdown setup file option. 2008-05-13 12:43:25 -04:00
Joey Hess fb3d5b4800 Fixes for behavior changes in perl 5.10's CGI
Something has changed in CGI.pm in perl 5.10. It used to not care
if STDIN was opened using :utf8, but now it'll mis-encode utf-8 values
when used that way by ikiwiki. Now I have to binmode(STDIN) before
instantiating the CGI object.

In 57bba4dac1, I changed from decoding
CGI::Formbuilder fields to utf-8, to decoding cgi parameters before setting
up the form object. As of perl 5.10, that approach no longer has any effect
(reason unknown). To get correctly encoded values in FormBuilder forms,
they must once again be decoded after the form is set up.

As noted in 57bba4da, this can cause one set of problems for
formbuilder_setup hooks if decode_form_utf8 is called before the hooks, and
a different set if it's called after. To avoid both sets of problems, call
it both before and after. (Only remaining problem is the sheer ugliness and
inefficiency of that..)

I think that these changes will also work with older perl versions, but I
haven't checked.

Also, in the case of the poll plugin, the cgi parameter needs to be
explcitly decoded before it is used to handle utf-8 values. (This may have
always been broken, not sure if it's related to perl 5.10 or not.)
2008-05-12 20:44:22 -04:00
Joey Hess 489a6fc8bf paste-o 2008-05-08 16:12:09 -04:00
Joey Hess a50fb83394 add --delete-bucket option 2008-05-08 16:11:39 -04:00
Joey Hess b7950d8d01 load plugins before printing messages
This allows plugins to getopt and change what is done before an incorrect
line is printed.
2008-05-08 16:08:02 -04:00
Joey Hess b8d81b7b7f amazon s3 index file improvements
Turns out duplicate index files do not need to be stored when usedirs is in
use, just when it's not. Ikiwiki is quite consistent about using page/ when
usedirs is in use. (The only exception is the search plugin, which needs
fixing.)

This also includes significant code cleanup, removal of a incorrect special
case for empty files, and addition of a workaround for a bug in the amazon
perl module.
2008-05-08 15:51:09 -04:00
Joey Hess 8861af53db simplify key determination code 2008-05-08 13:00:05 -04:00
Joey Hess 71c6cddcb0 remove debugging 2008-05-07 23:58:01 -04:00
Joey Hess 0850cde5a6 implemented pruning, s3 support now complete-ish 2008-05-07 23:51:25 -04:00
Joey Hess db30d61f59 forgot to add.. 2008-05-07 23:39:52 -04:00
Joey Hess 9e6a4ccfdd amazon s3 support implemented and kinda working
pruning not yet implemented, however
2008-05-07 23:15:43 -04:00
Joey Hess ec866f8370 Optimised file statting code when scanning for modified pages; cut the number of system calls in half. (Still room for improvement.) 2008-05-07 14:11:56 -04:00
Joey Hess b144831e46 pinger/pingee now tested and working 2008-05-06 19:06:53 -04:00
Joey Hess 457de90f5f POSIX::setsid is not exported per default 2008-05-06 18:41:56 -04:00
Joey Hess 1f88cad3a2 aggregate: Add support for web-based triggering of aggregation for people stuck on shared hosting without cron. (Sheesh.) Enabled via the `aggregate_webtrigger` configuration optiom. 2008-05-05 20:20:45 -04:00
Joey Hess f06267fc3b git: Put -- before the filename when calling git rev-list to avoid warning message when the file doesn't exist. 2008-05-02 13:03:42 -04:00
Joey Hess b2dea99417 Fix ugly display when editing a page that has vanished.
srcfile now has an optional second parameter to avoid it throwing an error
if the source file does not exist.
2008-05-02 13:02:07 -04:00
Joey Hess 9fca7f2f8b avoid uninitialised value 2008-05-02 13:01:51 -04:00
Joey Hess 6f852e88e3 anonk: Add anonok_pagespec configuration setting that can be used to allow anonymous users to edit only matching pages. Closes: #478892 2008-05-01 14:58:23 -04:00
Joey Hess bb51e81762 img: Support a title attribute, will be passed through to html. Closes: #478718 2008-04-30 12:58:36 -04:00
Joey Hess 9652cdfe2e toc: Add the table of contents at sanitize time, rather than at format time. This allows the toc to be displayed when previewing an edit. It also avoids headers in the page template from showing up in the toc. 2008-04-26 15:13:01 -04:00
Joey Hess b698bf2408 Use bzr --quiet to avoid it outputting stuff and messing up http headers. (Scott Bronson) 2008-04-10 17:44:40 -04:00
Joey Hess e4395a567b Fix broken rcs_update for bzr. (Scott Bronson) 2008-04-10 17:41:43 -04:00
Joey Hess 72b5ef2c5f Fix CSRF attacks against the preferences and edit forms. Closes: #475445
The fix involved embedding the session id in the forms, and not allowing the
forms to be submitted if the embedded id does not match the session id.

In the case of the preferences form, if the session id is not embedded,
then the CGI parameters are cleared. This avoids a secondary attack where the
link to the preferences form prefills password or other fields, and
the user hits "submit" without noticing these prefilled values.

In the case of the editpage form, the anonok plugin can allow anyone to edit,
and so I chose not to guard against CSRF attacks against users who are not
logged in. Otherwise, it also embeds the session id and checks it.

For page editing, I assume that the user will notice if content or commit
message is changed because of CGI parameters, and won't blndly hit save page.
So I didn't block those CGI paramters. (It's even possible to use those CGI
parameters, for good, not for evil, I guess..)

The only other CSRF attack I can think of in ikiwiki involves the poll plugin.
It's certianly possible to set up a link that causes the user to unknowingly
vote in a poll. However, the poll plugin is not intended to be used for things
that people would want to attack, since anyone can after all edit the poll page
and fill in any values they like. So this "attack" is ignorable.
2008-04-10 16:35:30 -04:00
Joey Hess 04e7467807 need to handle urls to images the same
Also, simplified finding the url to the top of the site.
2008-04-03 16:37:05 -04:00
Manoj Srivastava c207086282 Bug#473987: [PATCH] Links relative to baseurl mangled in atom/rss feeds
tag 473987 +patch
thanks
Hi,

The issue is that we need to convert relative links to absolute
ones for atom and rss feeds -- but there are two types of
relative links. The first kind, relative to the current
document ( href="some/path") is handled correctly. The second
kind of relative url is is relative to the http server
base (href="/semi-abs/path"), and that broke.

It broke because we just prepended the url of the current
document to the href (http://host/path/to/this-doc/ + link),
which gave us, in the first place:
 http://host/path/to/this-doc/some/path        [correct], and
 http://host/path/to/this-doc//semi-abs/path   [wrong]

The fix is to calculate the base for the http server (the base of
the wiki does not help, since the base of the wiki can be
different from the base of the http server -- I have, for example,
"url => http://host.name.mine/blog/manoj/"), and prepend that to
the relative references that start with a /.

This has been tested.

Signed-off-by: Manoj Srivastava <srivasta@debian.org>
2008-04-03 16:27:29 -04:00
Joey Hess de8c34df59 aggregate: Correct a mistake in the code that dummy up a guid for feeds lacking one. 2008-04-03 02:36:01 -04:00
Joey Hess f6bd81db15 Added a hardlink option in the setup file, useful if the source and dest are on the same filesystem and the wiki includes large media files, which would normally be copied, wasting time and space. 2008-03-29 21:02:47 -04:00
Joey Hess cb8d1c8642 revert destpage part of f7bdc2385
destpage does not normally need to be worried about when creating other files
as part of the process of rendering a page. Using destpage results in
inlined pages creating two copies of such files. It works to not use destpage
in this case because the inlining page depends on the source page, so if the
source page is modified or deleted the inlining page will be updated.
2008-03-23 20:01:26 -04:00
Joey Hess d2911a20a6 inline: Allow the "feedshow" parameter to take values greater than the value for "show". 2008-03-23 17:39:03 -04:00
Joey Hess 1c2f59239f typos 2008-03-21 19:09:29 -04:00
martin f. krafft e3624de63c Allow external plugins to return no value
Instead of using the XML-RPC v2 extension <nil/>, which Perl's
XML::RPC::Parser does not (yet) support (Joey's patch is pending), we
agreed on a sentinel: {'null':''}, that is, a hash with a single key
"null" pointing to the empty string.

The Python proxy automatically converts None appropriately and raises an
exception if a hook function should, by weird coincidence, attempt to
return {'null':''}.

Signed-off-by: martin f. krafft <madduck@madduck.net>
2008-03-21 15:07:10 -04:00
Joey Hess 14b3e645a8 work around perl warning 2008-03-21 05:08:04 -04:00
Joey Hess 42b6a6178c delete inline data after it's used 2008-03-21 04:51:14 -04:00
Joey Hess f937c1fb80 crazy optimisation to work around slow markdown
Markdown is slow. Especially if it has to process an enormous page. The
most common enormous page is currently the recentchanges page, which gets
processed a lot, and contains very little actual markdown. Most of it is a
big <div>, which markdown skips ... slowly.

This is a rather sick optimisation to work around markdown's speed issues.
Now inline inserts a small, dummy div, allows markdown to quickly render
the actual page content, then replaces the dummy with the actual inlined
pages later.

Results: Rendering just a recentchanges page, with diffs included, dropped
from 4.5 seconds to 2.7 seconds on my laptop. Building the entire wiki
dropped from 46.6 seconds to 39.5 seconds.

(It would be better if inline were a *post*-processor directive.)
2008-03-21 04:48:26 -04:00
Joey Hess 0b9e849aba process smilies in a sanitize hook
I had to move it to sanitize so all the markup is htmlized, so it can scan
for <pre> and <code>.
2008-03-21 03:16:28 -04:00
Joey Hess cd6055a893 another fix
I'm suprised that the second m//g didn't seem to clobber @-, but I don't
want to rely on that, so preserve it beforehand.
2008-03-21 02:57:34 -04:00
Joey Hess 88b5a0ece5 various fixes and simplifications 2008-03-21 02:55:14 -04:00
Joey Hess 44824dba1b smiley: Detect smileys inside pre and tags, and do not expand. 2008-03-21 02:43:20 -04:00
Joey Hess 628467125c Close meta tag for redir properly. 2008-03-21 00:24:06 -04:00
Joey Hess c92e9b34ec Store userinfo in network byte order for easy portability. (Old files will be automatically converted.) 2008-03-19 22:46:51 -04:00
Joey Hess 9f3788e2a2 optimisation, only load openid module when signing in
This makes the CGI about .2 seconds faster when editing pages etc.
2008-03-19 21:12:18 -04:00
Joey Hess d85c9660c5 fix setstate
Same fix as in d7f1292c31
2008-03-19 15:49:37 -04:00
Joey Hess 6eb3cf7e76 make setargv take an array
for consistentcy with getargv, which returns one
2008-03-19 15:49:00 -04:00
Joey Hess d7f1292c31 fix setvar
It was incorrectly setting the value to the number of items in @_, ie,
always 1.
2008-03-19 15:18:38 -04:00
Joey Hess f003e97d10 getargv needs to return a list reference
xml rpc only allows functions to return a single value, no lists. So getargv
needs to return a list reference, which means that the caller will see an xml
rpc array.
2008-03-19 15:12:59 -04:00
Joey Hess 52e16d4ec9 * Record new pages in %pagesources temporarily when previewing so that
things that need to know the page source or type can query it from there.
  Fixes previewing of tables when creating a new page.
2008-03-17 21:28:31 -04:00
Joey Hess ba480baa9e * external: Add getargv and setargv methods to allow access to ikiwiki's
@ARGV.
2008-03-15 14:19:49 -04:00
Joey Hess 5a7a89ffc5 * htmltidy: Pass --markup yes, in case tidy's config file disabled it. 2008-03-15 13:58:08 -04:00
Joey Hess e7ce86db11 * external: Fix support of XML::RPC::fault. 2008-03-15 13:49:22 -04:00
Joey Hess 7b6686ce70 * Fix expiry of old recentchanges changeset pages. 2008-03-14 18:55:17 -04:00
Joey Hess 16299dbae8 load HTML::Entities at top
Used in several subs, not all of which load it on demand, this seems simpler.
2008-03-14 18:43:54 -04:00
Joey Hess bc2671082b no need to use HTML::Entities, as it's loaded on demand by code below 2008-03-12 18:52:33 -04:00
Joey Hess 99c65a4c0e * Use absolute url for feedurl when filling out the feed templates.
Closes: #470530
2008-03-12 18:49:41 -04:00
Joey Hess 862ca19eb1 truncate recentchangesdiffs after 200 lines
This works around a perl crasher bug, and also avoids bloating pages
with enormous diffs.

rcs_recentchanges modified to return a list in an array context.
2008-03-12 15:45:10 -04:00
Joey Hess 3dc979470e use git show to get the diff
If a diff of the firsst commit in a git repo was requested, it would fail and
print to stderr since first^ isn't valid. Using git show will always work.
2008-03-12 14:44:20 -04:00
Joey Hess f7bdc2385d * Use forcebaseurl to make page previews be displayed with the html base
set to the destination page. This avoids need for hacks to munge the urls
  in preview mode, which fixes several bugs.
* Several destpage fixes in plugins.
2008-03-12 14:21:48 -04:00
Joey Hess 2fa9da9f16 * monotone: Require version 0.38 or greater, and stop using the mtnmergerc
option. (Brian May)
2008-03-12 10:46:04 -04:00
Joey Hess 51ee2a2eab fix syntax error 2008-03-12 10:35:25 -04:00
martin f. krafft d02e350a69 Correct meta.robots attribute value->content
This was a silly typo, sorry. <meta ...> takes an attribute content, not
value.

Signed-off-by: martin f. krafft <madduck@madduck.net>
2008-03-11 18:37:04 -04:00
martin f. krafft c471d5425f Generate openid2 headers as well
This causes meta.openid to also generate the openid2 headers.

Signed-off-by: martin f. krafft <madduck@madduck.net>
2008-03-11 15:53:21 -04:00
martin f. krafft 2325525713 Let meta.openid set X-XRDS-Location header
Adds an optional xrds-location parameter to the openid meta handler,
which allows for XRDS delegation.

A good document on XRDS is
http://www.windley.com/archives/2007/05/using_xrds.shtml

Signed-off-by: martin f. krafft <madduck@madduck.net>
2008-03-11 15:51:11 -04:00
Joey Hess fc4c1b7ec8 * Remove locking code in git rcs_commit. I'm not sure if this was ever
correct, and it's certianly not correct now, since the wiki is locked
  before rcs_commit is ever called, and should not be unlocked by
  rcs_commit either.
2008-03-07 12:25:40 -05:00
Joey Hess eec482aa65 test for Text::Markdown::[Mm]arkdown and use the available one
Markdown is such a splintered mess.. The current debian package provides
only Text::Markdown::Markdown, while all versions of Text::Markdown support
Text::Markdown::markdown, and old versions also support the capitalised version,
while new ones don't.

It's getting to the point where `grep /markdown/i %symbol_table` is the only
sane way to figure out what function to call..
2008-03-04 20:29:52 -05:00
Joey Hess 0217eebf49 * Use Text::Markdown::markdown, since version 1.0.16 of Text::Markdown
no longer supports Text::Markdown::Markdown. All old versions of
  Text::Markdown also support the lower-case version.
2008-03-04 20:17:55 -05:00
Joey Hess d93aaed791 * Add recentchangesdiff plugin that adds diffs to the recentchanges feeds.
* rcs_diff is a new function that rcs modules should implement.
* Implemented rcs_diff for git, svn, and tla (tla version untested).
  Mercurial and monotone still todo.
2008-03-03 15:53:34 -05:00
martin f. krafft c10cfb27d1 Add robots tag to meta plugin
Add special handling for <meta name="robots" ...> which needs not be
scrubbed as it's harmless.

Signed-off-by: martin f. krafft <madduck@madduck.net>
(cherry picked from commit b15d0299a7f7b147e89d8a202d6cca1c21491af2)
2008-03-02 18:04:09 -05:00
Adeodato Simó a8f08ab8e1 Make directives generated by shortcuts accept a `desc` parameter.
(cherry picked from commit 252da396bfa728b99af7c9bb304a7b5f3f6d94e6)
2008-03-02 18:04:09 -05:00
Adeodato Simó be0b4f603f Allow colons in URLs after the first slash
A new regexp fixes this bug:
http://ikiwiki.info/bugs/No_link_for_blog_items_when_filename_contains_a_colon/

I traced this down to htmlscrubber. If disabled,
it works. If enabled, then $safe_url_regexp
determines the URL unsafe because of the colon and
hence removes the src attribute.

Digging into this, I find that RFC 3986 pretty
much discourages colons in filenames:

"""
A path segment that contains a colon character
(e.g., "this:that") cannot be used as the first
segment of a relative-path reference, as it would
be mistaken for a scheme name. Such a segment must
be preceded by a dot-segment (e.g., "./this:that")
to make a relative- path reference.
"""

on the other hand, with usedirs, any link to
another page will be prepended by ../ anyway, so
that makes them okay again.

The solution still seems not to use colons.

In any case, htmlscrubber should get a new regexp,
courtesy of dato.

I have tested and verified this.

Signed-off-by: martin f. krafft <madduck@madduck.net>
2008-02-29 19:29:44 +01:00
Joey Hess f4773f6a83 avoid calling getctime on internal pages
internal pages won't be in revision control so this avoids some ugly noise
2008-02-24 18:02:34 -05:00
Joey Hess 4eabb3cb7a * inline: When forcing urls absolute for rss feeds, skip mailto and other
such urls.
2008-02-24 17:07:56 -05:00
Joey Hess bd55d276b3 Fix links generated by preprocessor directives when previewing.
As was already done for linkfication, links generated in a prevew page
are relative to the top of the wiki, so it has to be told that the destpage
is there.

I was using "" to indicate this, but that may confuse some preprocessor
plugins, which treat parameters with an empry value specially (sparkline is one
such). Instead, use "/", which is more accurate anyway and works just as well.
2008-02-24 16:37:11 -05:00
Joey Hess f7303db5a1 * Fix another preview will_render bug. This one involved inline,
which forced a scan of the page to make available metadata that
  appeared after the inline directive. Problem is that scan made it forget
  about any other files rendered due to the page. The scan also turns out
  to be unnecessary now, since meta persistently stores state and it's
  always available. So it was just removed.
2008-02-24 15:36:25 -05:00
Joey Hess a59af82bb8 * tla: Remove call to escapeHTML when constructing recentchanges message;
the html is escaped at a different level. Closes: #466495
* bzr, mercurial: Remove unused import of escapeHTML.
2008-02-20 16:45:02 -05:00
Joey Hess 1c06aed378 * monotone: Add code to default mergerc file to run
_MTN/ikiwiki-netsync-hook when a commit is merged in from the net.
2008-02-14 16:10:33 -05:00
Joey Hess 553136ec1f * Preview limits the page dropdown to what's selected previously
(as preserving the full list across preview would be tricky). Userdirs
  were still being offered as an option there, remove them.
* Fix a bug where user A created a page concurrently with user B, and
  when B previewed it would redirect B to A's new page, losing B's work.
  Instead, don't redirect and let conflict handling resolve it.
2008-02-14 15:42:14 -05:00
Joey Hess 8be2b60aac * The search plugin needs to override <base> to point to the directory
containing ikiwiki.cgi, but this should not change the urls to the style
  sheets etc. Add a new forcebareurl parameter to misctemplate to allow
  it to do that.
2008-02-14 15:20:49 -05:00
Joey Hess 1de1fb15a0 * camelcase: Convert to use new linkify and scan hooks rather than the old
hack.
2008-02-11 23:04:19 -05:00
Joey Hess 4763514861 * Add the linkify and scan hooks. These hooks can be used to implement
custom, first-class types of wikilinks.
* Move standard wikilink implementation to a new wikilink plugin, which
  will of course be enabled by default.
2008-02-11 22:48:27 -05:00
Joey Hess 4aab5f0a73 * Generate XML RPC messages with the encoding set to utf-8 instead
of XML::RPC's default of us-ascii. Allows interoperation with
  python's xmlrpc library, which threw invalid encoding exceptions and
  caused the rst plugin to hang.
2008-02-11 00:11:49 -05:00
Joey Hess c6fc554c54 use quotemeta when building the regexp 2008-02-10 19:02:12 -05:00
Josh Triplett 728dfd9595 Allow the smb: URI scheme. 2008-02-10 15:08:56 -08:00
Josh Triplett 502cd00ec7 Allow the snews: URI scheme. 2008-02-10 15:05:11 -08:00
Josh Triplett ec9d3ab549 Do not allow the steam: URI scheme. 2008-02-10 14:59:08 -08:00
Josh Triplett 3cda22a27f Match literal '.' in URI schemas containing '.', rather than matching any character 2008-02-10 14:50:30 -08:00
Joey Hess bbcf878f75 * meta: Check that the urls provided for authorurl, permalink, and openid
are safe and can't contain javascript.
2008-02-10 17:17:44 -05:00
Joey Hess 4bfdbd4858 export $safe_url_regexp 2008-02-10 17:07:21 -05:00
Josh Triplett d20e24b636 Also filter the attributes cite, longdesc, and usemap, which can contain URIs 2008-02-10 13:59:37 -08:00
Joey Hess 2078f706d6 add parens around scheme regexp 2008-02-10 16:29:46 -05:00
Josh Triplett a7be7bdf56 Do not allow the about: URI scheme
Some browsers interpret about: URIs like a limited version of data:
URIs.  In particular, some versions of Internet Explorer interpret
arbitrary HTML content in about: URIs.
2008-02-10 13:23:28 -08:00
Joey Hess dfd6bb3854 fix data:image handling 2008-02-10 15:24:03 -05:00
Joey Hess d7e0c035e5 * htmlscrubber security fix: Block javascript in uris.
* Add htmlscrubber test suite.
2008-02-10 13:16:40 -05:00
Josh Triplett 122f6df325 Merge branch 'master' into prefix-directives
Conflicts:

	debian/changelog
	templates/change.tmpl
2008-02-09 23:02:52 -08:00
Joey Hess f1fcb5be9c * Page templates can now use CTIME to show when the page was created. 2008-02-09 23:05:48 -05:00
Joey Hess 63e316f362 * Don't die if running with --getctime and rcs_getctime throws an error.
There are several cases (recentchanges files, aggregated files)
  where some source files are not in revision control.
2008-02-07 22:11:54 -05:00
Joey Hess a4b2e77077 add support for prefix_directives 2008-02-05 16:14:38 -05:00
Joey Hess f64ef7deb6 proper fix for the preview/will_render issue 2008-02-04 18:46:34 -05:00
Joey Hess b37dc9c926 preview shouldn't show the feed buttons or post form 2008-02-04 18:44:54 -05:00
Joey Hess bf522a347f * inline: Add new `allowrss` and `allowatom` config options. These can be
used if you want a wiki that doesn't default to generating rss or atom
  feeds, but that does allow them to be turned on for specific blogs.
2008-02-04 18:36:50 -05:00
Joey Hess 85de2f7bc4 the old code worked, suprisingly, but I prefer this form 2008-02-04 18:05:40 -05:00
Joey Hess d1c4899a22 * inline: When previewing, still call will_render on rss/atom files,
just avoid actually writing the files. This is necessary because ikiwiki
  saves state after a preview (in case it actually *did* write files),
  and if will_render isn't called its security checks will get upset
  when the page is saved. Thanks to Edward Betts for his help tracking this
  tricky bug down.
2008-02-04 17:58:23 -05:00
Joey Hess a3f224cb6c move saveindex call into preview block
This call is only present to handle the case where previewing a page
actually causes files to be rendered.
2008-02-03 19:51:00 -05:00
Joey Hess 408419ca3e remove another commit mail mention 2008-02-03 19:47:01 -05:00
Joey Hess 27d5f91a18 remove spurious EOF 2008-02-03 18:16:19 -05:00
Joey Hess 749c1e36d9 * monotone changes by Brian May:
- On commits, replace "mtn sync" bidirectional with "mtn push" single
    direction. No need to pull changes when doing a commit. mtn sync
    is still called in rcs_update.
  - Support for viewing differences via patches using viewmtn.
2008-02-03 18:14:39 -05:00
Joey Hess 9d54cc4659 implement aggregate_locking design
Now aggregation will not lock the wiki. Any changes made during aggregaton are
merged in with the changed state accumulated while aggregating. A separate
lock file prevents multiple concurrent aggregators. Garbage collection
of orphaned guids is much improved. loadstate() is only called once
per process, so tricky support for reloading wiki state is not needed.

(Tested fairly thuroughly.)
2008-02-03 16:48:26 -05:00
Joey Hess 38affb0c1c add aggregate locking functions 2008-02-03 15:17:15 -05:00
Joey Hess e57749b702 * recentchanges: Exipre all *._change pages, even if the directory
they're in has changed.
2008-02-03 14:51:03 -05:00
Joey Hess 340fe9707c * recentchanges: Improve handling of links on the very static changes pages
by thunking to the CGI, which can redirect to the page, or allow it to be
  created if it doesn't exist.
2008-02-03 14:48:20 -05:00
Joey Hess 42e5b8dfdc prototype fix 2008-02-03 14:22:25 -05:00
Joey Hess 1f6591f0a6 * aggregate: Revert use of forking to not save state, that was not the right
approach.
2008-02-03 03:04:19 -05:00
Joey Hess 9f60272831 * poll: This plugin turns out to have edited pages w/o doing any locking.
Oops. Convert it from a cgi to a sessioncgi hook, which will work
  much better.
2008-02-03 00:26:00 -05:00
Joey Hess 80915c830a * cgi hooks are now run before ikiwiki state is loaded.
* This allows locking the wiki before loading state, which avoids some
  tricky locking code when saving a web edit.
2008-02-03 00:23:04 -05:00
Joey Hess 0779013683 * aggregate: Forking a child broke the one state that mattered: Forcing
the aggregating page to be rebuilt. Fix this.
2008-02-02 23:56:13 -05:00
Joey Hess 6a7c3d1209 * Revert preservation of input file modification times in output files,
since this leads to too many problems with web caching, especially with
  inlined pages. Properly solving this would involve tracking every page
  that contributes to a page's content and using the youngest of them all,
  as well as special cases for things like the version plugin, and it's just
  too complex to do.
2008-02-02 23:40:57 -05:00
Joey Hess 870adf3bbf move openiduser function to the openid plugin 2008-01-30 02:39:17 -05:00
Joey Hess 55e16be44a move recentchanges link enabling into a pagetemplate hook 2008-01-30 02:29:12 -05:00
Jelmer Vernooij 246e93a300 Expand file-id in diffurl in the bzr backend. 2008-01-30 02:29:28 +01:00
Joey Hess 4284719464 rename bazaar -> bzr after discussion with jelmer 2008-01-29 19:48:30 -05:00
Joey Hess 381ac0f667 commit only the changed file 2008-01-29 19:44:26 -05:00
Joey Hess 274fb90026 stylistic changes
Remarkably few. Also, I removed the stub for the obsolete rcs_notify function.
2008-01-29 19:36:35 -05:00
Joey Hess cddc335b2b Merge git://git.samba.org/jelmer/ikiwiki 2008-01-29 19:28:51 -05:00
Joey Hess f584abec0c really fix the baseurl problem
the issue is that HTML::Template doesn't expand top-level variables when inside
a loop
2008-01-29 18:19:47 -05:00
Joey Hess 9e15bd27ea avoid temp var 2008-01-29 18:07:20 -05:00
Joey Hess 7125c7269a don't scan internal pages
scan() does too much. All that is needed is to preprocess the internal page
in scan-only mode.
2008-01-29 18:06:36 -05:00
Joey Hess 3803266b8f merged the recentchanges branch
misc fixes
2008-01-29 17:50:11 -05:00
Joey Hess 7a40bcab9a add missing test to avoid uninitialised value when a page with metadata is removed 2008-01-29 17:36:25 -05:00
Joey Hess 64a8c828b8 * meta: Add pagespec functions to match against title, author, authorurl,
license, and copyright. This can be used to create custom RecentChanges.
* meta: To support the pagespec functions, metadata about pages has to be
  retained as pagestate.
* Fix encoding bug when pagestate values contained spaces.
2008-01-29 17:16:51 -05:00
Joey Hess bc49e284ac make the author metadata for changes pages be the un-munged openid 2008-01-29 16:05:31 -05:00
Joey Hess 9875bc10d1 avoid redundant recentpages action on the recentchanges page itself 2008-01-29 15:53:49 -05:00
Joey Hess 8b31c53366 added configuration for recentchanges
I kept it to a simple global configuration, rather than using the
preprocessor directive for recentchanges, because that had chicken and egg
problems and seemed overcomplicated. This should work reasonably well,
though it would be good to add some more metadata so that more customised
recentchanges pages can be made.
2008-01-29 15:51:32 -05:00
Joey Hess cabd5140c4 add code to delete old change pages 2008-01-29 15:22:23 -05:00
Joey Hess 47ee266163 improve support for internal pages
This makes it a lot quicker to deal with lots of recentchanges pages
appearing and disappearing. It avoids needing to clutter up pagespecs with
exclusions for those pages, by making normal pagespecs not match them.
2008-01-29 15:05:49 -05:00
Joey Hess 35bc35660c use new refresh hook 2008-01-29 13:08:48 -05:00
Joey Hess e1ce482e41 add refresh hook 2008-01-29 13:08:32 -05:00
Joey Hess a5ad70a8dc updates 2008-01-29 12:59:49 -05:00
Joey Hess 152f32547f indicate that an internal page will be rendered even if skipping it
This is important to do because until will_render is called, ikiwiki doesn't
know that the page exists. This avoids recentchanges re-writing every change
page every run.
2008-01-29 12:39:28 -05:00
Joey Hess 598d338b11 escape wikilinks and preprocessor directives 2008-01-29 12:37:39 -05:00
Joey Hess 7a4b7b1964 update RecentChanges action to point to page 2008-01-29 12:20:17 -05:00
Joey Hess 85eb1abc61 typo 2008-01-29 04:45:54 -05:00
Joey Hess 38e79f206e more style improvements 2008-01-29 04:44:05 -05:00
Joey Hess 21f44880cd non-tabular recentchanges display
Doesn't look as good as the old table, but works as a rss feed.
2008-01-29 01:48:55 -05:00
Joey Hess d2a3695376 some parameteraisation and generalisation 2008-01-29 01:03:15 -05:00
Joey Hess d7fdd04b5a * Removed support for sending commit notification mails. Along with it went
the svnrepo and notify settings, though both will be ignored if left in
  setup files.
2008-01-29 00:36:58 -05:00
Joey Hess 2ff726e875 don't render internal-use pages, and document them 2008-01-29 00:07:55 -05:00
Joey Hess 5921b86fcc proof of concept implementation of static recentchanges
Currently hardcoded to write to recentchanges/*, and the page format needs
to be rethought to be usable for aggregation, but it basically works.
2008-01-28 23:56:26 -05:00
Joey Hess 2d3dc86d07 * prettydate,ddate: Don't ignore time formats passed to displaytime
function.
2008-01-28 23:48:27 -05:00
Joey Hess 0d2894711c support for internal-use page types
If a page type starts with an underscore, hide it from the list of page types
in the edit form, and don't allow editing pages of that type. This allows
for plugins to add page types for internal use.
2008-01-28 23:08:48 -05:00
Joey Hess 29f3082772 move userlink to IkiWiki.pm
I have a plugin that needs to use userlink.
2008-01-28 22:58:31 -05:00
Joey Hess 9f25e3436b change rcs_recentchanges when to absolute, not relative, time
No point in using a relative time value in rcs_recentchanges. Different
consumers of the info want different things.
2008-01-28 22:57:22 -05:00
Joey Hess ad4f7bc075 remove debug message
This can legitimately happen when there's a simple merge.
2008-01-28 22:47:43 -05:00
Joey Hess 0f95adbd1d Merge branch 'master' into recentchanges 2008-01-28 21:24:15 -05:00
Joey Hess e30b96baba figured out how rev is used.. 2008-01-28 21:23:56 -05:00
Joey Hess 3436fed081 * inline: The template can check for FIRST and LAST, which will be
set for the first and last inlined page. Useful for templates that build
    tables and the like.
2008-01-28 21:22:04 -05:00
Joey Hess b11ddb88e6 add an id field to the rcs_recentchanges return structure
There was an undocumented field named "rev", I think "id" is a better name,
and nothing uses it yet.
2008-01-28 20:34:11 -05:00
Joey Hess 161947160b remove extraneous quoting 2008-01-28 18:01:51 -05:00
Joey Hess 84d3856512 test1 2008-01-28 17:41:02 -05:00
Joey Hess df32ad1139 really fix comment
It doesn't really make sense to do notification from a post-commit hook.
2008-01-28 17:36:36 -05:00
Joey Hess 52b16186c4 update comment
This is not only called from post-update in all configurations. Also, the
comment was innaccurate about what the post-update hook is passed.
2008-01-28 17:33:22 -05:00
Jelmer Vernooij d3f91f37ff Finish bazaar backend and make the remaining test pass. 2008-01-28 07:30:37 +01:00
Jelmer Vernooij 0be7aad67d Initial work adding support for Bazaar. 2008-01-28 06:16:56 +01:00
Josh Triplett fafb2edaa7 aggregate.pm: Replace Unicode apostrophe with ASCII to unbreak build
gettext choked on a Unicode apostrophe in the aggregate plugin, which
appeared in a new error message in commit
4f872b5633.  Replace it with an ASCII
apostrophe.
2008-01-26 23:12:29 -08:00
Joey Hess 4f872b5633 * aggregate: Fork a child process to handle the aggregation. This simplifies
the code, since that process can change internal state as needed, and
  it will automatically be cleaned up for the parent process, which proceeds
  to render the changes.
2008-01-24 17:22:39 -05:00
Brian Downing 6d85ccdb6f Add full parser for git diff-tree output
The -c option to git log/diff-tree produces "merged" diffs with a
different format from normal ones.  However, the existing diff-tree
parser only accepted non-merged diff lines.  Merged diff lines caused
the parser to get out of sync.  This patch adds a full parser for diffs
with any number of parents.  See the "DIFF FORMAT FOR MERGES" section in
the git-diff-tree man page for more information.

Signed-off-by: Brian Downing <bdowning@lavos.net>
2008-01-17 11:15:23 -05:00
Joey Hess ba6b8e5e3e * aggregate: Don't let feeds set creation times for pages in the future. 2008-01-16 02:01:00 -05:00
Patrick Winnertz 81c726982b I've wrote a little patch for the bug in teximg (can only include fomula on
one page).
2008-01-09 20:04:51 -05:00
Joey Hess 141d363888 In preferences, allow the subscriptions and email fields to be cleared 2008-01-09 17:59:56 -05:00
Joey Hess e01960e90a not only markdown adds gunk, so remove it in the main htmlize function 2008-01-09 14:41:28 -05:00
Joey Hess 2b9ce0129b * mdwn: When htmlizing text, if it's a single line with no newline,
remove the enclosing paragraph and newline markdown wraps it in.
  This allows removing several hacks around this markdown behavior from
  other plugins that htmlize fragements of pages.
2008-01-09 14:35:23 -05:00
Joey Hess 57ff2ecaed * template: Remove bogus htmlize pass added in 2.16.
* template: Htmlize template variables, but also provide a raw version
  via `<TMPL_VAR raw_variable>`.
2008-01-09 14:17:25 -05:00
Joey Hess adb1bc8761 don't process data metadata in scan, as it's expensive and the metadata should not be needed so early 2008-01-09 02:41:38 -05:00
Joey Hess deb39a1f14 * meta: Run in scan mode again (more intelligently) and re-add support for
meta link.
* Fix support for the case where metadata appears after an inline directive.
  This was broken in version 2.16.
2008-01-09 02:38:43 -05:00
Joey Hess a654a72fda optimisation: detect scan mode and avoid generating image 2008-01-09 02:31:11 -05:00
Joey Hess b31e8c0826 * inline: Add copyright/license info on a per-post basis to atom
feeds if available. (rss doesn't allow such info on a per-post basis)
* meta: Allow copyright/license metadata to contain arbitrary markup.
2008-01-09 01:05:54 -05:00
Joey Hess 86781fc43e * aggregate: Include copyright statements from rss feed as meta copyright
directives.
* aggregate: Yet another state saving fix (sigh).
* aggregate: Add hack to support feeds with invalidly escaped html entities.
2008-01-08 20:41:25 -05:00
Joey Hess 4c1a4402f9 * htmlscrubber: Further work around #365971 by adding tags for 'br/', 'hr/'
and 'p/'.
2008-01-07 18:32:50 -05:00
Joey Hess e35eb5a418 * Add a prereq on Data::Dumper 2.11 or better, needed to dump q// objects. 2008-01-07 18:12:12 -05:00
Joey Hess dcf342f366 add explicit test for do=postsignin
This happens when openid auth fails in certian ways
2008-01-07 16:39:49 -05:00
Joey Hess d7b2bb13d1 fixes 2008-01-07 16:37:19 -05:00
Joey Hess c34895364f fixes 2008-01-07 16:35:16 -05:00
Joey Hess c487b847e2 * Improved the canedit hook interface, allowing a callback function to be
returned (and not run in some cases) rather than the plugins directly
  forcing a user to log in.
* opendiscussion: allow editing of the toplevel discussion page,
  and, indirectly, allow creating new discussion pages.
2008-01-07 16:34:13 -05:00
Joey Hess 45de8dc710 * opendiscussion: allow editing of the toplevel discussion page 2008-01-07 16:10:32 -05:00
Joey Hess 9dbbbd0efa * Only try postsignin if no other action matched. Fixes a bug where the
user goes back from the signin screen and does something else.
* Improve behavior when trying to sign in with no cookies.
2008-01-07 15:56:39 -05:00
Joey Hess 4ac5685744 fix some bad copy and pasted plugin ids 2008-01-07 15:28:53 -05:00
Joey Hess ceffae8af1 * aggregate: Only save state if it was already loaded. This didn't used to
* table: Fix dependency tracking for external data files. Closes: #458387
2008-01-05 02:23:31 -05:00
Joey Hess 1fb1d6c183 fix an uninitialised value warning 2008-01-05 01:47:04 -05:00
Joey Hess 76e941a480 * aggregate: Only save state if it was already loaded. 2008-01-05 01:26:09 -05:00
Joey Hess 41234a3f0f round days old message 2008-01-02 23:38:45 -05:00
Joey Hess 57bba4dac1 * Stop testing Encode::is_utf8 in decode_form_utf8: That doesn't work.
* decode_form_utf8 only fixed the utf-8 encoding for fields that were
  registered at the time it was called, which was before the
  formbuilder_setup hook. Fields added by the hook didn't get decoded.
  But it can't be put after the hook either, since plugins using the hook
  need to be able to use form values. To fix this dilemma, it's been changed
  to a decode_cgi_utf8, which is called on the cgi query object, before the
  form is set up, and decodes *all* cgi parameters.
2008-01-01 19:58:45 -05:00
Joey Hess 2269cfda30 * Split error messages for failures to drop real uid and gid.
* Retry dropping uid and gid, possibly this will help with the "Resource
  temporarily unavailable" failures I've experienced under xen.
2008-01-01 18:48:34 -05:00
Joey Hess c3eec7fdf0 I *think* that this comment is out of date. 2007-12-30 14:57:33 -05:00
Joey Hess f0f52e602d * aggregate: Fix stupid mistake introduced when converting it to use
the needsbuild hook. This resulted in feeds not being removed when pages
  were updated, and probably other bugs.
* aggregate: Avoid uninitialised value warning when removing a feed that
  has an expired guid.
2007-12-30 14:49:25 -05:00
Joey Hess 3e784ea8a1 * map: Fix handling of common prefix to handle the case where it's
in a subdirectory. Patch by Larry Clapp.
2007-12-28 17:22:17 -05:00
Joey Hess 63f62ef520 * conditional: Improve regexp testing for simple uses of pagespecs
that match only the page using the directive, adding 'included()'
  and supporting negated pagespecs and added whitespace.
2007-12-28 16:55:20 -05:00
Joey Hess c2afda7f90 * img: Allow the link parameter to point to an exterior url. 2007-12-28 16:14:43 -05:00
Joey Hess 2332b40595 * img: Avoid nesting images when linking to another image. Closes: #457780 2007-12-26 10:49:15 -05:00
Thomas Schwinge 1ac0fd03bb IkiWiki/Plugin/meta.pm <redir>: Support for specifying anchors. 2007-12-22 13:10:55 -05:00
Joey Hess b30fed47ea * Improved parentlinks special case for index pages. 2007-12-19 16:44:33 -05:00
Joey Hess b72b8b2b0e improve error message if shortcuts.mdwn DNE 2007-12-17 15:33:47 -05:00
Joey Hess f373b09bf9 loadstate needs to be called even if no pages are being built 2007-12-16 19:40:50 -05:00
Joey Hess 58f1ef0784 * git: Correct display of multiline commit messages in recentchanges. 2007-12-16 16:52:39 -05:00
Joey Hess c3fed25ad4 * brokenlinks: Don't list the same link multiple times. (%links might
contain multiple copies of the same link)
2007-12-16 16:42:18 -05:00
Joey Hess 1d60cb322d correct variable scoping error in nils's patch 2007-12-16 16:07:52 -05:00
Nis Martensen 723a10b5b1 rssurl and atomurl are only needed where $feeds is set 2007-12-16 16:04:38 -05:00
Nis Martensen c99369cdbe Also increment feednum only if feeds are generated 2007-12-16 16:04:28 -05:00
Joey Hess 9459cc55ab * meta: Drop support for "meta link", since supporting this for internal
* map: Don't inline images.
2007-12-16 16:00:13 -05:00
Joey Hess 96817b0032 * meta: Drop support for "meta link", since supporting this for internal
links required meta to be run during scan, which complicated its data
  storage, since it had to clear data stored during the scan pass to avoid
  duplicating it during the normal preprocessing pass.
* If you used "meta link", you should switch to either "meta openid" (for
  openid delegations), or tags (for internal, invisible links). I assume
  that nobody really used "meta link" for external, non-openid links, since
  the htmlscrubber ate those. (Tell me differently and I'll consider bringing
  back that support.)
* meta: Improved data storage.
* meta: Drop the hackish filter hook that was used to clear
  stored data before preprocessing, this hack was ugly, and broken (cf:
  liw's disappearing openids).
* aggregate: Convert filter hook to a needsbuild hook.
2007-12-16 15:56:09 -05:00
Joey Hess 5b2ab63f78 * Allow editing a page and deleting all content, while still disallowing
creating a new page that's entirely empty.
2007-12-12 19:11:29 -05:00
Nis Martensen 74a56db8d6 Set page_numfeeds only if feeds are being generated 2007-12-12 16:54:09 -05:00
Joey Hess 10a2895b3b * shortcut: Expand %S to the raw input text, not url-encoded. 2007-12-12 16:50:29 -05:00
Joey Hess 7eafa95f33 * Htmlize parameters passed to the template preprocessor directive before
inserting them into the html template. This ensures that markdown
  acts on them, even if the value is expanded inside a block-level html
  element in the html template. Closes: #454058
* Use a div in the note template rather than a span.
2007-12-12 16:42:54 -05:00
Joey Hess 849f65a343 * Avoid unnecessary stat calls to get mtime when rendering pages, use
cached value.
* Preserve input file modification times in output files.
2007-12-12 14:43:35 -05:00
Joey Hess c06643a435 * Ensure that web edited pages always end in a newline. 2007-12-12 13:41:21 -05:00
Joey Hess 3922ba15ba don't duplicate code from editpage, just pull the values it sets out of the
formbuilder object
2007-12-12 03:35:23 -05:00
Joey Hess 4745391360 * Change formbuilder hook to not be responsible for displaying a form,
so that more than one plugin can use this hook.
  I believe this is a safe change, since only passwordauth uses this hook.
  (If some other plugin already used it, it would have broken passwordauth!)
2007-12-12 03:15:30 -05:00
Joey Hess c46b17983d works, but I'm not entirely happy with it yet
It would be better if it were a formbuilder hook. But the formbuilder hook
is wacked.. I may need to change how that hook works, which would mean
changing the only current user of it, passwordauth).
2007-12-12 02:45:44 -05:00
Joey Hess 8576fe4c49 incomplate edittemplate plugin 2007-12-12 01:52:26 -05:00
Joey Hess c8cb931890 reorg 2007-12-09 00:05:07 -05:00
Joey Hess e78c25d1b2 logic fix 2007-12-08 23:57:25 -05:00
Joey Hess 5023f2301d * The calendar plugin stores state about when it needs to be updated,
and forces rebuilds of the pages that contain calendars. So
  running ikiwiki --refresh at midnight is now enough, no need for a full
  wiki rebuild each midnight.
* calendar: Work around block html parsing bug in markdown 1.0.1 by
  enclosing the calendar in an extra div.
2007-12-08 23:54:34 -05:00
Joey Hess 5959a32f97 real redir cycle detection 2007-12-08 19:39:32 -05:00
Joey Hess a829e5b865 ensure state is dropped when a page stops embeddeding the version 2007-12-08 19:12:50 -05:00
Joey Hess b4b452f4ee forgot to add 2007-12-08 19:05:01 -05:00
Joey Hess 055179cb4c * Finally implemented a simple per-page data storage mechanism for plugins,
via the %pagestate hash.
* Use pagestate in meta to detect potential redir loops.
2007-12-08 17:40:50 -05:00
Joey Hess 7960031135 MAJOR basewiki reorg
Including redir pages for the moved basewiki pages. These will be removed in
a future release.
2007-12-08 15:59:08 -05:00
Joey Hess b8681e19d1 wikilink fix 2007-12-08 15:17:37 -05:00
Joey Hess ccf99970a7 drop redir loop detection code
it won't work for incremental builds

for now, relying on browsers to notice loops
2007-12-08 15:05:41 -05:00
Joey Hess 2c78477387 * meta: Add redir support, based on a patch by Thomas Schwinge. 2007-12-08 14:58:29 -05:00
Thomas Schwinge 655d7925c6 Here is a patch to add a forwarding functionality to the meta plugin 2007-12-08 14:37:41 -05:00
Joey Hess c3805557f1 * Improve workaround for perl bug #376329. Rather than double-encoding,
which has been reported to cause encoding problems (though I haven't
  reproduced them), just catch a failure of markdown, and retry.
  (The crazy perl bug magically disappears on the retry.)
  Closes: #449379
2007-11-27 16:36:37 -05:00
Joey Hess e15e3202eb releasing version 2.14 2007-11-26 15:30:44 -05:00
Joey Hess f2e5709a33 * Let CC be used to control what compiler is used to build wrappers.
* Use 'cc' instead of gcc as the default compiler.
2007-11-25 15:50:31 -05:00
Joey Hess c9c0f271b6 * toc: Handle html elements embedded inside a header, rather than
stopping collecting the header text at the first element.
2007-11-23 11:40:02 -05:00
Joey Hess e016a975c4 * Allow html5 video and audio tags and their attributes in the htmlscrubber. 2007-11-18 13:34:06 -05:00
Joey Hess 6ccd9313d2 * More compact output for the brokenlinks plugin. 2007-11-17 16:16:34 -05:00
Joey Hess 466a094928 * Better error message when a setup file has a syntax error.
Closes: #451666
2007-11-17 14:06:11 -05:00
Joey Hess cb80809aec * Add wrappergroup config option, which can be used to cause wrappers
to be created owned by some group other than the default. Useful
  then there's a shared repository with access controlled by a group,
  to let ikiwiki run setgid to that group.
* ikiwiki-mass-rebuild: Run build with the user in all their groups.
2007-11-14 09:27:11 -05:00
Joey Hess ebac523686 prottype fixes 2007-11-14 08:51:38 -05:00
Joey Hess 264a82a435 * inline: Add timeformat parameter to control how the ctime of
inlined pages is displayed. Closes: #451019
2007-11-13 16:14:48 -05:00
Joey Hess 8ffa59e610 * The first git commit legitimately has no parents. Avoid recentchanges
spewing uninitialised value warnings and debug messages about it.
  Dummying up a parent of 0000000 allows gitweb to work too.
2007-11-12 12:53:46 -05:00
Joey Hess 6a751b2a83 missed localising a string 2007-11-08 15:03:57 -05:00
Josh Triplett 21c6d61aa1 Fix table plugin to not generate an unbalanced tbody tag with header=no
The table plugin omitted </tbody> with header=no, but always generated
<tbody>, resulting in an unbalanced tag.  Fix that by omitting <tbody>
too.
2007-11-08 11:30:15 -08:00
Joey Hess 930584cff7 * map: Recent changes caused unnecessary ul's to be inserted for items
that were all at the same level, fix. Closes: #449285
2007-11-07 16:34:50 -05:00
Joey Hess 1c9946ff48 reset SIGPIPE before returning 2007-11-05 19:33:28 -05:00
Joey Hess 9e7160a664 fix dumb mistake 2007-10-31 18:42:14 -04:00
Joey Hess ada249e0dd * Don't truncate git commit messages to the first line in RecentChanges,
show the full message.
2007-10-31 18:35:37 -04:00
Joey Hess 3506f4ba07 * Improve the RecentChanges display for git merges, by passing -c instead
of -m to git-log, and by skipping display of commits that change no
  pages.
2007-10-31 18:32:22 -04:00
Joey Hess b8887c1cd7 * Avoid using commands like git-diff and instead use "git diff".
In some configurations, only the main git command is in the path.
2007-10-31 17:37:33 -04:00
Joey Hess c5d9c0d6b6 * Avoid a race in the git rcs_commit function, by not assuming HEAD will
stay the same for the duration of the function.
2007-10-31 17:17:03 -04:00
Joey Hess 2a6e353c20 improve use of seen hash 2007-10-30 22:56:13 -04:00
Joey Hess 5cbd86235e * Fix an aggregate plugin expiry bug. Over time, it's possible for the same
page name to be expired and reused for several distinct guids. When this
  happened, the expiry code counted each past guid that had used that page
  name as a currently existing page, and thus expired too many pages.
2007-10-30 22:50:44 -04:00
Joey Hess 683c1ebb4c * Fix some issues with toggles in preview mode. 2007-10-29 17:16:10 -04:00
Joey Hess 730a3fb4b7 Run git-commit -q (though it doesn't do much good due to its stderr abuse). 2007-10-26 03:22:44 -04:00
Joey Hess 2697ac99cf use nulls to avoid ambiguities 2007-10-25 06:20:32 -04:00
Joey Hess 9f1cd89bc2 * Add handling of feeds for nested inlines, as well as support for a
single page containing two different feeds.
* Also fixed some places in inline that failed to use destpage correctly.
2007-10-25 05:43:43 -04:00
Joey Hess 30bfe76eac only use half the max size 2007-10-25 00:28:40 -04:00
Joey Hess de5eb4996b * postsparkline: Avoid a confusing error message if no pages match
and instead show an empty graph.
2007-10-24 23:07:39 -04:00
joey cd67224be6 fix folding 2007-10-23 05:12:18 +00:00
joey fc6ebdf0b2 explicitly use POSIX 2007-10-23 00:06:02 +00:00
joey a27f4a47ba * Add a calendar plugin, contributed by Manoj Srivastava.
* Reformat calendar plugin to ikiwiki conventions.
* The calendar plugin made *every* page depend on every other page,
  which seemed a wee tiny little bit overkill. Fixed the dependency
  calculations (I hope.)
* Removed manual ctime statting code, and just have the calendar plugin use
  %pagectime.
2007-10-23 00:02:53 +00:00
joey 3613f72a3b * If gitorigin_branch is set to the empty string, don't push or pull.
Useful for laptop clones of remote wikis.
2007-10-22 01:47:30 +00:00
joey cadfac387c minor stylistic changes 2007-10-21 22:59:18 +00:00
joey 19cfec2654 * Correct a pair of logic errors that triggered if svnpath was empty. 2007-10-21 22:57:11 +00:00
joey a22d9f9721 * Support git authors of the form "joey <joey>", which is common when
importing from a svn repo.
2007-10-21 00:27:11 +00:00
joey 65dca9f89d * Rewritten rst plugin by madduck is a python program that communicates with
ikiwiki via XML RPC. This should be much faster than the old plugin that
  had to fork python for every rst page render. Note that if you use
  the rst plugin, you now need to have the RPC::XML perl module installed.
2007-10-15 16:33:02 +00:00
joey 5b7edbf2a4 untaint plugin filename, will be tainted if specified at the command line 2007-10-13 22:18:33 +00:00
joey eec289e281 * Fix strange stderr-hiding code in the git module, allow error messages
to be passed on to stderr. Also fixes a potential bug, since git error
  meesages were treated as if they came from git stdout.
2007-10-10 23:27:11 +00:00
joey 278b16c79a * In the cgi edit path, reload the index file before rendering. A bug
showed up where a web edit that added a page caused a near-concurrent
  web edit to fail in will_render. While it would be hard to reproduce this,
  my analysis is that the failing cgi started first, loaded the index file
  (prior to locking) then the other cgi created the new page and rendered
  it, and then the failing cgi choked on the new file when _it_ tried to
  render it. Ensuring that the index file is loaded after taking the lock
  will avoid this bug.
2007-10-10 18:40:54 +00:00
joey 3fd86def96 * French translation update. Closes: #445923
* Fix --get-ctime with git, needed to remove srcdir from filename.
2007-10-10 18:15:15 +00:00
joey f948133a61 * Tidy ctime debug output for git. 2007-10-04 09:00:08 +00:00
joey ed4b6afc9b * camelcase: Tighten regexp to avoid false positives. WikiWords are only
linkified now if they are preceeded by whitespace.
2007-09-28 20:50:20 +00:00
joey 2f705d78c9 patch from madduck to fix thinko 2007-09-24 16:41:29 +00:00
joey f9f38ae31c * Save index after previewing page edit, since even previewing can create
files in some situations, and this is appropriate in some cases, such as
  the teximg plugin's error log file.
  Such files will be automatically cleaned up at an appopriate later time.
2007-09-22 18:31:52 +00:00
joey a0f55abe07 $common_prefix may never get defined 2007-09-22 17:55:32 +00:00
joey d0b1b24428 fix html 2007-09-22 17:15:36 +00:00
joey c1474d795c make taglink support the same method for specifying link text as a regular
wikilink
2007-09-22 17:07:51 +00:00
joey 622b866f3e * img: Allow link=somepage to cause the image to link to a given page.
Slight overriding of link, as link=no is still used to disable the linking
  entirely. Unless you have a page named "no"..
2007-09-22 16:46:27 +00:00
joey 7bde880fa8 * map: Render pages on the way to subpages whose parent pages
are not included in the map. Include special styling for such pages.
* map: Remove common prefixes and don't over-indent.
* Add class option to htmllink().
2007-09-22 16:32:24 +00:00
joey 9d75d3005b * map: Render empty nodes on the way to subpages whose parent pages
are not included in the map.
* map: Fix valid html issue.
2007-09-21 17:54:58 +00:00
joey 0935e380c5 * tag: Add taglink preprocessor directive, supporting visible tag links.
* map: Fully specify paths to links to avoid issues when the bestlink
  didn't point to the correct page.
2007-09-20 19:23:43 +00:00
joey d1999f0357 * Add taglink preprocessor directive, supporting visible tag links.
Closes: #443344
2007-09-20 18:59:27 +00:00
joey 9f87bd8d7d * table plugin: Actually specify the delimiter when parsing CSV.
* table plugin: The previous version broke WikiLinks inside quoted values.
  Fix this by linkifying CSV data after parsing it, while DSV data is still
  linkified before parsing.
2007-09-16 19:35:16 +00:00
joey 6bcc3339d9 * table plugin: Actually specify the delimiter. 2007-09-16 19:18:02 +00:00
joey 9dc796737f bugfixes 2007-09-15 00:23:08 +00:00
joey 1e7b0415d3 if an inlined page has the same copyright or license as the page it's
inlined into, don't display them twice
2007-09-14 19:09:16 +00:00
joey 906dcfd518 * meta: Support license and copyright information. The information will
be shown in the page footer. HTML will also be inserted that should
  support the rel=license microformat as well as the HTML spec's
  rel=copyright.
2007-09-14 18:11:10 +00:00
joey 95199c5b04 * inline: add feedonly option, set feedonly=yes to get only the feed button
but not inline the pages.
2007-09-13 22:23:32 +00:00
joey 8489e68916 * table: Text::CSV doesn't return decoded unicode (XS module); decode its
return values.
2007-09-05 17:22:26 +00:00
joey ef43bff1ca * Correct generation of RFC 3339 format times for atom/rss feeds. Always use
gmtime for these since a time zone is not specified.
2007-09-02 19:29:40 +00:00
joshtriplett 8de136222e git.pm: Handle operating in sub-trees of a git repository.
When looking for git commits that affect the wiki, only include changes
that affect the ikiwiki source directory. If that is not the top-level
directory in this git repository, strip off the prefix as given by
`git-rev-parse --show-prefix` from all names reported by git-log.

Patch by Jamey Sharp <jamey@minilop.net>.
2007-08-30 02:32:35 +00:00
joshtriplett c5ee59ec5e git.pm: Renames from git-diff-tree aren't handled, so don't ask for them.
Patch by Jamey Sharp <jamey@minilop.net>.
2007-08-30 02:32:32 +00:00
joshtriplett 7144514b93 Use git-log rather than the shell, git-rev-list, and git-diff-tree.
Patch by Jamey Sharp <jamey@minilop.net>.
2007-08-30 02:32:29 +00:00
joey c73e0b78f9 use --style default for get_ctime too 2007-08-29 03:02:41 +00:00
joey 67c6ff9b08 * mercurial: Fix rcs_getctime (thanks, bma) 2007-08-29 02:16:45 +00:00
joey 5b8e1cc369 thank goodness for test suites 2007-08-29 02:09:43 +00:00
joey 7813bcf08a * mercurial: Pass --style defaults to hg log to ensure right format is used. 2007-08-29 02:01:23 +00:00
joey 4142c02f73 * Tables containing links with a link text were misparsed, because the "|"
in the wikilink looked like a table field separator. Avoid this ambiguity
  by linkifying the data before parsing it as a table.
* Turn on allow_loose_quotes in the table plugin's Text::CSV object,
  so that links from wikilinks don't confuse the parser.
2007-08-28 23:06:24 +00:00
joey 9c5f4761d8 * Support for looking in multiple directories for underlay files.
* Plugins can add new directories to the search path with the add_underlay
  function.
* Split out smiley underlay files into a separate underlay, so if the plugin
  isn't used, the wiki isn't bloated with all those files.
2007-08-28 01:59:01 +00:00
joey 6c89a635bb * Add an editcontent hook. 2007-08-26 21:33:25 +00:00
joey abc5919087 * Fix bug when blogging by cgi, introduced in last version. 2007-08-26 17:32:15 +00:00
joey c2ec0a97a1 remove unncessesary and unused loop labels 2007-08-24 18:07:15 +00:00
joey 14a82190e1 typo 2007-08-24 17:16:23 +00:00
joey a18d99c3fa apply monotone patch 2007-08-24 01:20:25 +00:00
joey 0863498132 typo 2007-08-23 21:23:24 +00:00
joey 015ce28d72 fix encoding html entities in alt tag 2007-08-23 21:22:44 +00:00
joey 8c31a01efa rename tex to teximg 2007-08-23 21:19:21 +00:00
joey 27d029113f * Add embed plugin, which allows embedding content from google maps, video,
calendar, and youtube. Normally, the htmlsanitiser eats these since they
  use unsafe tags, the embed plugin overrides it for trusted sites.
* The googlecalendar plugin is now deprecated, and will be removed
  eventually. Please switch to using the embed plugin.
2007-08-23 20:14:08 +00:00
joey 2c5fbe844b * Call the formbuilder hook for the edit page.
* Call decode_form_utf8 before running formbuilder_setup hooks.
* Add editdiff plugin contributed by Jeremie Koenig.
* Fix it to not leak path info.
2007-08-22 21:06:13 +00:00
joey f760fcfa3f * Added tex plugin to generate images from latex code.
Contributed by Patrick Winnertz as a GSoC project.
2007-08-22 00:59:41 +00:00
joey c2c943bc25 monotone updates 2007-08-21 16:55:13 +00:00
joey 38353384cf minor changes (but lots of them) 2007-08-21 03:58:00 +00:00
joey 62a4ea821d move enormous data block to __DATA__ 2007-08-21 03:31:27 +00:00
joey 4fcf25a820 remove the mtnbinpath config option; users should use PATH if they need
this kind of thing.

change formatting of some quotes
2007-08-21 03:22:45 +00:00
joey 50e1b43408 * Add monotone support, contributed by William Uther. 2007-08-21 03:10:35 +00:00
joey a9b7f01ec8 * Add color parameter to postsparkline. Closes: #438900 2007-08-20 18:57:21 +00:00
joey ce7596dad9 * Applied Jeremie Koenig's pluggable editpage buttons patch:
- add a title to the editpage form;
  - pass a reference to the list of buttons to the formbuilder_setup
    hooks, so we can add ours;
  - relax asumption about the possible submit values (use "Save Page"
    explicitly);
  - de-hardcode the submit buttons from the editpage template
    (This was needed for compatability with a bug in CGI::FormBuilder
    3.0401, but ikiwiki already needs a newer version.)
* Pass buttons to all other formbuilder_setup hooks too.
2007-08-17 05:34:59 +00:00
joey c8f7b9480e proper fix for adding file, based on jkoenig's patch 2007-08-15 00:06:20 +00:00
joey d392f5776a * Fix bug when editing file from underlaydir, need to rcs_add it even though
a page creation isn't occuring.
2007-08-14 20:11:45 +00:00
joey 69065b8e79 * Fix bug in deletion/move during edit code introduced in 1.44. Need to take
the underlaydir into account.
2007-08-14 19:44:59 +00:00
joey 2e8d5c5ade Remove two header => 1 settings that were overridden by later header => 0 2007-08-14 18:02:10 +00:00
joey 5b78246d11 memoization for injected RPC functions is a very, very good thing 2007-08-13 07:00:53 +00:00
joey 506bcbac04 * Fix --libdir to work at the command line.
* Plugins can now be written as standalone external programs, which can
  be written in any language that can do XML::RPC.
2007-08-13 03:07:31 +00:00
joey 2e1670a821 * Add time=mtime option to postsparkline. 2007-08-12 09:19:20 +00:00
joey 160326b469 * Apply a patch from NicolasLimare adding modification date tags to rss and
atom feeds, and also changing the publication time for a feed to the
  newest modiciation time (was newest creation time).
* The patch also adds dcterms:creator to rss items that have a known author.
2007-08-11 23:15:08 +00:00
joey dc89360f03 * The toc directive doesn't work well or make sense inside an inlined page.
Disable it when the page with the toc is nested inside another page.
2007-08-11 21:46:59 +00:00
joey 46a80d9cbe * Move blog form code out of CGI.pm and into the inline plugin. 2007-08-05 22:07:32 +00:00
joey 8e2fb374e0 * Add sessioncgi hook. 2007-08-05 21:38:27 +00:00
joey 79947fda81 remove cruft 2007-08-05 21:12:35 +00:00
joey 09b0a3b73f * Add rel=tag attribute to tag links, supporting that microformat, as well
as allowing them to be styled specially. Thanks, NicolasLimare.
2007-08-05 20:48:13 +00:00
joey 1d61c4d4d6 * pagetemplate: don't display template name 2007-08-05 18:22:21 +00:00
joey 54e25f034c * Allow raw html in the rst plugin. 2007-07-29 22:39:40 +00:00
joey f371f2f2d8 * Fix problems with previewing in the graphviz plugin. Thanks,
HenrikBrixAndersen.
2007-07-29 22:34:42 +00:00
joey 4a07e28acc typo 2007-07-28 21:37:22 +00:00
joey c0f8808232 * Various minor bug fixes for silly mistakes in the code, thanks to the
various reviewers.
2007-07-28 21:01:56 +00:00
joey 3bbf5eb28a fix 2007-07-28 20:54:58 +00:00
joey 7fa31b00b7 fix typo 2007-07-28 20:53:51 +00:00
joey 40959ce76d * Add templatefile hook.
* Add pagetemplate plugin, which allows changing the template used for
  a page. (Not to be confused with the hook of the same name..)
2007-07-26 20:50:55 +00:00
joey 72c95e8434 * Fix re-rendering of pages when a linked to page goes away. This was broken
in version 1.50 with the addition of %destsources. Thanks, Ethan
  Glasser-Camp.
2007-07-26 19:41:04 +00:00
joey a7b8e35bf9 * Fix graphviz plugin to not try to read images as utf-8; they might
sometimes contain invalid utf-8 byte sequences. Thanks,
  HenrikBrixAndersen.
2007-07-25 02:15:52 +00:00
joey 1612dce6bb * Add a htmlext config option, this can be used to make ikiwiki generate
html files with a different extension.
2007-07-25 01:16:53 +00:00
joey 4de235a385 * Make the map plugin notice when pages in the map are deleted and update
it.
2007-07-25 01:04:56 +00:00
joey c92ab9cddd * Wrap the editpage template in the standard misctemplate, this allows the
pagetemplate hook to work for that page.
* Above change fixes the favicon plugin to work on edit pages.
2007-07-16 05:24:31 +00:00
joey 3bd439fa03 * In img tag, allow link=no to disable link to full size image. Thanks,
Nis Martensen. Closes: #433188
2007-07-15 19:00:07 +00:00
joey a0aca9f585 * Fix links to alternate stylesheets when usedirs is enabled.
* Use type= not style= in html for alternate stylesheets, which is more
  correct (but in my testing both epiphany and iceweasel work ok with
  style=text/css).
2007-07-13 20:38:31 +00:00
joey eabe03fb5b * Fix links to stylesheets when usedirs is enabled. 2007-07-13 20:19:34 +00:00
joey 03dc63588c on second thought, simple alphanumeric styles are not actually useful (class is already supported), and anything more complex is too hard to do, so revert 2007-07-11 17:57:02 +00:00
joey a8fa52080d * Allow simple alphanumeric style attribute values in the htmlscrubber. This
should be safe from javascript attacks.
2007-07-11 16:50:59 +00:00
joey e0da57358c get confused. So it's best for ikiwiki to follow the compatability
* Support building on systems that lack asprintf.
* mercurial getctime is currently broken, apparently by some change in
  mercurial version 0.9.4. Turn the failing test case into a TODO test case.
2007-07-09 00:39:55 +00:00
joey 45e2c23e03 * Make the toc plugin use html-compatible anchors. This is necessary since
most web sites serve ikiwiki xhtml files as text/html and mozilla browsers
  get confused. So it's best for ikiwiki to follow the compatability 
  recommendations in appendix C of the XHTML spec. Closes: #432045
2007-07-08 16:57:05 +00:00
joey b1560f7275 * Correct a longstanding bug that could cause the edit form to be empty.
This turns out to have occured if the cgi wrapper was created by an
  ikiwiki invocation that included --rebuild. Thanks to Carl Worth for
  tracking that down.
2007-06-30 00:48:39 +00:00
joey afcf0dc79e * Patch fixing various additional problems with test suite. Closes: #425891
once more.
2007-06-26 22:11:59 +00:00
joey 3bfa109971 * Allow svnpath config option to contain additional extra slashes anywhere
w/o confusing ikiwiki.
* Rcs modules are now imported, so other modules that need similar
  normalisation of configs etc can do so.
2007-06-23 12:12:59 +00:00
joey 9a122f001a * Corrected a typo in an error handler in the image plugin. 2007-06-19 18:46:43 +00:00
joey 9dc9c113cc exit with error if Text::Typography cannot be loaded 2007-06-05 19:06:54 +00:00
joey 435e06bce1 * Add typographyattributes configuration setting to typography plugin. 2007-06-05 19:04:15 +00:00
joey d9a3c2bed2 * Make the url absolution code for feeds significantly more robust. 2007-06-03 17:10:32 +00:00
joey aadb214220 * Fix wrapper generator and untaint code's handling of strings contining
newlines.
2007-06-03 16:24:22 +00:00
joey 78323806ee * Explode some of the more insane regexps. 2007-06-01 23:40:43 +00:00
joey ba1765fbdf * More consistent encoding of titles in rss and atom feeds. Don't use
ESCAPE=HTML for titles in the templates for these feeds, and instead
  escape the title going in to the template. Previously, the title was
  sometimes double-escaped in a feed (if set via meta title), and sometimes
  not (if set from the page filename).
* In the meta plugin, when a title is set, encode the html entities in it
  numerically. This works better in the current landscape of a rss spec that
  doesn't specify encoding, and variously broken feed consumers, according
  to <http://www.rssboard.org/rss-profile#data-types-characterdata>.
2007-05-28 19:43:28 +00:00
joey 8fc1382949 didn't mean to make this change (yet) 2007-05-28 19:08:59 +00:00
joey 330bbd03df * Apply a patch from Carl Worth allowing a class attribute to be passed
through the img plugin. Also allow the id attribute to be passed through.
2007-05-28 19:07:38 +00:00
joey 8c2c8c6bea * Deal better with rebuilds that involve moving files; track and clean up the
old files.
* Change where the img plugin puts scaled images. It's better to make the
  scaled images subpages of the page that embeds them, rather than putting
  them alongside the original image, since if two pages scale the same image
  the same way, this prevents complications in dealing with two pages
  creating the same file. The move will be handled transparently, though you
  might want to rebuild your wiki to make it occur in one step.
2007-05-24 19:56:08 +00:00
joey edc6a7b7b1 the 100% correct way is to add it to %links on scan 2007-05-23 16:50:41 +00:00
joey bb0cbecbc3 * Correct bug in the img plugin that caused dependencies on images to not
always be tracked correctly.
2007-05-23 01:44:11 +00:00
joey ee843c7523 improve messages 2007-05-21 03:00:45 +00:00
joey 10017feaec Clear state after performing aggregation, since it could hypothetically
change after the lock is dropped, and before the lock is regained by the
build process. The state will now be reloaded by the build process.
2007-05-21 02:59:06 +00:00
joey 82ac63d798 * Change the aggregate plugin's locking strategy. Now it defers loading state
until the wiki is building and already locked, unless it's aggregating.
  When aggregating, it does not wait for the lock if it cannot get it, and
  instead exits, to prevent aggregating processes from piling up.
2007-05-21 02:52:51 +00:00
joey cf35ee04cd * Add a destpage parameter to the filter hook.
* Fix links to smilies generated by the smiley plugin for inlined pages. The
  old links were often wrong, but often still worked by accident.
2007-05-17 19:55:11 +00:00
joey 739325834b * Fix some bugs in password handling:
- If the password is empty in preferences, don't clear the existing
    password.
  - Actually check the confirm password field, even if it's left empty.
2007-05-17 08:06:05 +00:00
joey a9f413fea8 formatting 2007-05-12 19:28:03 +00:00
joey 63995039be optimise backlinks counting for pagestats, simplify function returns again 2007-05-12 19:17:41 +00:00
joey 08d0bd7338 * Patch from hb to fix the pagestats plugin, which was broken by a past
change to the backlinks() function.
2007-05-12 17:56:56 +00:00
joey 190202dd4e * Make all templates have a footer div to ease themeing. Required template
and style sheet updates, and unless you're using customised versions,
  you'll want to rebuild wikis on upgrade to this version to avoid
  inconsistencies.
* Allow WIKINAME to to used in footers, as an example of something to put
  there.
2007-05-11 20:09:58 +00:00
joshtriplett b8d7ae91d0 * Add an account-creation password as a simple anti-spam mechanism. If
set in the wiki setup, passwordauth will require the password in
  order to create an account.
2007-05-09 02:05:32 +00:00
joey 72c53650ad * Add the needsbuild hook. Plugins can use this to manipulate which files
ikiwiki builds when refreshing the wiki.
2007-05-09 00:48:09 +00:00
joey 127bceef5b * Add all=no option to conditional, can be used to form conditionals that do
not need to examine every page in the wiki.
* Use this to simplify the goodstuff detection in the plugin template.
2007-05-09 00:31:49 +00:00
joshtriplett e1c54fef3d Nuke trailing whitespace in shortcut.pm. 2007-05-08 23:00:59 +00:00
joey 5c6b96967d update 2007-05-08 21:31:14 +00:00