Commit Graph

1872 Commits (33b0a69e90f4c2e22fe0e0c812836a2eb661c6d2)

Author SHA1 Message Date
Joey Hess 069b10cc6a note about titles and dependencies 2008-06-15 18:09:46 -04:00
Joey Hess 78a7f6938f style changes
Reindented, moved a TODO from page to code, trimmed some unnecessary
comments, and simplified the use of mkstemp.
2008-06-15 16:26:15 -04:00
Joey Hess a7a1d00e1c initial add 2008-06-15 16:25:18 -04:00
Joey Hess 71d984b310 map: Add a "show" parameter. "show=title" can be used to display page titles, rather than the default page name. Based on a patch from Jaldhar H. Vyas, Closes: #484510 2008-06-15 16:11:11 -04:00
Joey Hess 5807f1de04 fix two build bugs
* ikiwiki-mass-rebuild: Make group list comparison more robust.
* search: Work around xapian bug #486138 by only stemming locales
  in a whitelist.
2008-06-13 13:05:44 -04:00
Joey Hess ecfb14f7d1 Don't generate empty title attributes, etc, and allow setting defaults for class and id too. 2008-06-08 00:02:33 -04:00
Joey Hess f6b47b0d1c img: Support captions. 2008-06-07 23:45:40 -04:00
Joey Hess 3215b5a982 finishing touches on the new search plugin
- Add a Help link.
- If the pageterm is too long, hash it.
2008-06-04 15:24:28 -04:00
Joey Hess ea5da19189 fix uninitialized value problem
This occurred when a plugin, loaded earlier, filled out a template in its
checkconfig, before recentchanges's checkconfig had run. Since such a
template won't be a recentchanges template, just test for the value being
uninitialized and skip processing.
2008-06-04 15:00:24 -04:00
Joey Hess e4119f048c The search interface now allows searching for a page by title ("title:foo"), as well as for pages that contain a given link ("link:bar"). 2008-06-04 14:13:21 -04:00
Joey Hess 319e2c94de it's not $title, try the other variable 2008-06-04 13:41:15 -04:00
Joey Hess 295e958da5 don't use meta title
Using the title obscured path info, and made search results look
inconsistent. Since nothing else uses the title like that, it didn't make
sense for search to.
2008-06-04 13:12:10 -04:00
Joey Hess bf9829352b have the xapian stemmer use a language based on LANG 2008-06-04 02:41:02 -04:00
Joey Hess 27376abb3c also decode html entities in the title 2008-06-04 01:50:51 -04:00
Joey Hess 4a51e384eb decode html entities 2008-06-04 01:34:26 -04:00
Joey Hess 9976c31aca fix clearing index on page deletion 2008-06-04 01:28:35 -04:00
Joey Hess 1dddec0ba9 Pass a destpage parameter to the sanitize hook.
Because the search plugin needed it, also because it's one of the few
plugins that didn't already have it.

I also considered adding it to htmlize, but I really cannot imagine caring
what the destpage is when htmlizing. (I'll probably be poven wrong later.)
2008-06-04 01:24:23 -04:00
Joey Hess 1546b48b97 move indexing to sanitize hook
I think this will give better results overall.

I made %IkiWiki::preprocessing accessible and used it to avoid indexing
at unnecessary points.
2008-06-04 00:58:46 -04:00
Joey Hess ce826411b2 more search improvements 2008-06-04 00:38:40 -04:00
Joey Hess aefe5dd9cb more substr fixes 2008-06-04 00:25:56 -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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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
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 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 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 35bc35660c use new refresh hook 2008-01-29 13:08:48 -05:00
Joey Hess a5ad70a8dc updates 2008-01-29 12:59:49 -05:00
Joey Hess 598d338b11 escape wikilinks and preprocessor directives 2008-01-29 12:37:39 -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 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 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
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
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 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 d7b2bb13d1 fixes 2008-01-07 16:37:19 -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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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
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 14a82190e1 typo 2007-08-24 17:16:23 +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 a9b7f01ec8 * Add color parameter to postsparkline. Closes: #438900 2007-08-20 18:57:21 +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 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 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 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 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 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 afcf0dc79e * Patch fixing various additional problems with test suite. Closes: #425891
once more.
2007-06-26 22:11: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 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
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
joey 687928ead2 * Make testpagespec more robust, including checking for missing/bad
parameters, and detecting if a pagespec failed to compile.
2007-05-08 21:22:14 +00:00
joey 5132558731 * Improve handling of edits of locked pages by users who are not yet signed
in.
2007-05-07 05:34:55 +00:00
joey c7b7416b88 improve a string 2007-05-06 02:04:03 +00:00
joey 9026ae05c2 * Fix a bug that prevented clearing email or subscriptions. 2007-04-30 21:32:24 +00:00
joey f46c35f46f correct size of name field in initial login form (same size as password) 2007-04-30 21:10:14 +00:00
joey cd27ffc614 * If Net::OpenID::Consumer is not available, the openid module will quietly
disable itself, this avoids needing a hard dependency on the perl module.
2007-04-30 04:41:53 +00:00
joshtriplett fafaa119cf Revert passwordauth fieldset and doc to avoid 2.0 regressions; need to re-evaluate after 2.0. 2007-04-30 04:08:06 +00:00
joey b07bba87bf actually, let's not use a fieldset label at all here, and use the
"login with openid" as the input field label
2007-04-30 03:49:35 +00:00
joey 5d5ce9f992 put back OpenID label since we cannot rely on the label display 2007-04-30 03:41:45 +00:00
joshtriplett 40365e1aee * Group passwordauth fields with a fieldset as well. Add a new
passwordauth page to the basewiki describing password
  authentication; like openid, it uses conditional to check which
  forms of authentication the wiki allows.  Add conditional cross-
  links between the openid and passwordauth pages, to help the user
  understand how they can log in.
2007-04-30 02:26:50 +00:00
joey 8992e4de2d layout improvement 2007-04-29 22:19:37 +00:00
joey 64f798786e I don't think this comment adds much 2007-04-29 22:18:02 +00:00
joey dde68ed9b9 * Use a fieldset to set off the openid entry from the rest of the login
form.
2007-04-29 22:16:15 +00:00
joey 93c6d2c340 * Use fieldsets in the preferences form to group related options together.
Especially cleans up the ordering of the admin's preferences form.
2007-04-29 21:57:25 +00:00
joey 8fa8bd0adb the kind of perl code that can only be written at 4:30 am
(Get a good message when a PageSpec fails due to a negated success by
creating success objects with a reason string, which morph into failure
objects when negated.)
2007-04-27 08:34:09 +00:00
joey f8a7fb227b * Make pagespec_match on failure return a value that is false, but in a
scalar context, evaluates to a reason why the match failed.
* Add testpagespec plugin, which might be useful to see why a pagespec isn't
  matching something.
2007-04-27 07:55:40 +00:00
joey ee1ad53c4c * pagespec_match() has changed to take named parameters, to better allow
for extended pagespecs. The old calling convention will still work for
  back-compat for now.
* The calling convention for functions in the IkiWiki::PageSpec namespace
  has changed so they are passed named parameters.
* Plugin interface version increased to 2.00 since I don't anticipate any
  more interface changes before 2.0.
2007-04-27 02:55:52 +00:00
joey 7ea3bfdb70 improve message 2007-04-23 19:32:21 +00:00
joey 71d2d93027 * Fix aggregator to not warn when a feed contains no body content at all.
* Work around bug #420636 by, if XML::Parser crashes, running the feed
  content though Encode::decode_utf8.
2007-04-23 18:36:44 +00:00
joey e855e30d01 * Add feedshow parameter to inline, which can be useful for eg, removing
old posts from feeds when permalinks change.
2007-04-14 20:58:02 +00:00
joey 9b145798c7 * Patch from Tuomov to link to the directory in feeds when usedirs is in
effect. Note that this changes permalinks, so if you are already using
  usedirs you'll have to deal with that on upgrade to this version.
2007-04-14 20:46:41 +00:00
joey 01b058a285 * Add postformtext parameter to inline. 2007-04-12 04:13:55 +00:00
joey 13c7a51f1f * Optimise displaytime, trimming maybe 6% off the build time. 2007-04-10 01:49:16 +00:00
joey 7afb843a00 use pagesources rather than renderedfiles to get the list of pages 2007-04-10 00:51:43 +00:00
joshtriplett 54a4151306 * Add a graphviz plugin.
* Suggests: graphviz
2007-04-09 09:09:02 +00:00
joshtriplett f2b60470c6 * Remove stray semicolon in linkmap.pm. 2007-04-07 00:30:09 +00:00
joey 8fa477fa28 * Fix smiley plugin to scan smileys.mdwn after it's updated, which fixes
a bug caused by committing changes to smilies.mdwn.
2007-04-06 20:36:29 +00:00
joey d25e91e127 * Fix tags to page names that contain special characters. 2007-04-04 21:08:01 +00:00
joey 92a5fa9980 updates for new regime 2007-04-01 21:17:31 +00:00
joey ae249feb07 another htmlpage call that is no longer appropriate 2007-04-01 20:55:39 +00:00
joey bf9e8bc900 * Fix a big in the img plugin that caused thumbnailed files to not be
tracked properly.
2007-04-01 20:53:03 +00:00
joey 6351ae2ac4 fix links to sparklines; abs2rel -> urlto 2007-04-01 20:25:27 +00:00
joey 7910c2c7f6 use urlto; htmlpage is no longer appropriate here 2007-04-01 20:21:35 +00:00
joey 02b9f69ba5 * Finally apply the index.html patch, with thanks to everyone who worked
on and supported creating it (especially Tumov). This adds a "usedirs"
  option that makes ikiwiki use foo/index.html instead of foo.html as
  output page names. It is not yet enabled by default.
2007-04-01 19:59:42 +00:00
joey 3a958f7196 fix error message to include url 2007-03-31 03:26:43 +00:00
joey 35ab3237fa * Fix urls generated by mirrorlist plugin. 2007-03-31 00:41:22 +00:00
joey bbb0b3e72f * Finally fixed the longstanding inline removal bug.
* Renamed %oldpagemtime to a more accurately named %pagemtime and fix it to
  actually store pages' mtimes.
* Add "mtime" sort parameter to inline plugin.
2007-03-24 15:10:58 +00:00
joey 2a0d91af2f * Fix link() PageSpecs to not just look at the raw link text, but at where
that given link points based on the page doing the linking. Note that this
  could make such PageSpecs match different things than before, if you
  relied on the old behavior of them only matching the raw link text.
* This required changing the match_* interface, adding a third parameter.
* Allow link() PageSpecs to match relative, as is allowed with globs.a
* Add postform option to inline plugin.
* Add an bug tracker to the softwaresite example.
2007-03-21 23:11:09 +00:00
joey b8e096f96a fix 2007-03-21 19:08:29 +00:00
joey c8b4ba354f * Fix a security hole that allowed insertion of unsafe content via the meta
plugins's support for inserting html link and meta tags. Now such content
  is passed through the htmlscrubber like everything else.
* Unfortunatly, that means that some valid uses of those tags are no longer
  usable, and special case methods needed to be added for including
  stylesheets, and for doing openid delegation. If you use either of these
  in your wiki, it will need to be modified. See the meta plugin docs
  for details.
2007-03-21 18:52:56 +00:00
joey 72ed9e455c the real bug turned out to be in the meta plugin 2007-03-21 06:46:06 +00:00
joey 89673afc6b add postsparkline plugin, providing sparkliney stats goodness for blog
posts
2007-03-11 00:24:31 +00:00
joey 5b796b0bdb typo 2007-03-08 11:13:16 +00:00
joey 66a65b5ddd * Correct a deadlock that could occur in post-commit if the aggregate plugin
was enabled and tried to lock the already locked wiki.
2007-03-08 11:04:59 +00:00
joey c1b698e418 * The underscore escaping support exposed a bug in edit links: Such links
were titlepage escaped in the urls, and then doubly escaped by the CGI
  when editing. To fix this, I removed the titlepage escaping in the edit
  urls.
* That means that *every edit link* on the wiki is potentially changed.
  Rebuilding wikis on upgrade to this version therefore necessary; enabled
  that in postinst.
2007-03-08 06:03:59 +00:00
joey 6304f6a595 add colspan support 2007-03-07 19:50:34 +00:00
joey 59b07af4cf cleanup 2007-03-07 19:12:22 +00:00
joey c79e5f0e5b missed a few 2007-03-07 19:11:00 +00:00
joey 0d108e74d9 further refinement 2007-03-07 19:07:36 +00:00
joey cfb2da268b further refinement
fix a regexp injection hole
2007-03-07 18:42:41 +00:00
joey 4d8b2d84d5 more i18n improvements 2007-03-07 12:04:45 +00:00
joey 5d57a8436f * Add a table plugin, derived from the one written by Victor Moral. 2007-03-07 11:40:22 +00:00
joey 4cbb1095d6 support previewing of sparklines: embed in data uris for preview 2007-03-07 07:41:07 +00:00
joey 7ae2deacdf improve l10n 2007-03-07 06:27:27 +00:00
joey 4a770de3ac deal with new preview parameter 2007-03-07 05:53:47 +00:00
joey d4d535f17c * Add a sparline plugin. 2007-03-07 05:33:45 +00:00
joey 1202b4fd7b * Add preview parameter to preprocesser calls, use this rather than the
previous ugly hack used to avoid writing rss feeds in previews.
* Fix the img plugin to avoid overwriting images in previews. Instead it
  does all the work to make sure the resizing works, and dummys up a resized
  image using width and height attributes.
* Also fixes img preview display, the links were wrong in preview before.
2007-03-06 22:37:05 +00:00
joey 2e11f8a81f remove debugging code 2007-03-03 02:27:14 +00:00
joey 10b8557946 * Add "template" option to inline plugin to allow for use of customised
templates.
2007-03-02 04:00:42 +00:00
joey 122636308f increase plugin interface to 1.02 2007-02-25 01:16:08 +00:00
joey ba0d82e7ea * Patch from HenrikBrixAndersen to fix a broken use of foreach in the
search plugin.
2007-02-23 19:36:31 +00:00
joey 68784b593f fix breakage 2007-02-21 09:04:59 +00:00
joey c60477228c * Since the CGI had to drop the wiki lock to avoid deadlocking the
commit hook, it was possible for one CGI to race another one and "win"
  the commit of both their files. This race has been fixed by adding a new
  commitlock, which when locked by the CGI, disables the commit hook
  (except for commit mails). The CGI then takes care of the updates the
  commit hook would have done.
2007-02-21 08:55:28 +00:00
joey 2725887734 * Make img plugin not fail immediately if Image::Magick is not available.
This lets ikiwiki not build depend on perlmagic.
2007-02-20 03:59:35 +00:00
joey d442f1b2fc * Don't error out if estcmd fails, just print a warning message. estcmd is
to fragile to let it kill ikiwiki.
2007-02-20 03:17:09 +00:00
joey fa52a730ff * Changed calling convention for httmllink slightly. The first three
parameters remain the same, but additional options are now passed in using
  named parameters.
* Change plugin interface version to 1.02 to reflect this change.
* Add a new anchor option to htmllink. Thanks Ben for the idea.
* Support anchors in wikilinks.
* Add a "more" plugin based on one contributed by Ben to allow implementing
  those dreaded "Read more" links in blogs.
2007-02-20 03:05:47 +00:00
joey 2fde507afb improve string 2007-02-15 20:54:52 +00:00
joey d9e4a3718e add day of week to prettydate, and i18n 2007-02-15 20:06:14 +00:00
joey 4f56c5ae7c italisise urls 2007-02-15 08:38:57 +00:00
joey ed31ebad31 supress redef warning 2007-02-15 07:57:55 +00:00
joey 0cfc607314 * Add a prettydate plugin that formats dates in a more readable fashion.
(I had to get a pretty date somehow today..)
2007-02-15 07:53:04 +00:00
joey f850acc6ad * Patch from Ethan to allow using meta tags to set creation dates of pages. 2007-02-15 05:48:40 +00:00
joey d4c61b7281 * Many changes to make ikiwiki very resistant to write failures
including out of disk space situations. ikiwiki should never leave
  truncated files, and if the error occurs during a web-based file edit,
  the user will be given an opportunity to retry.
  Inspired by the many ways Moin Moin destroys itself when out of disk. :-)
* Fix syslogging of errors.
2007-02-15 02:22:08 +00:00
joey 96125d8da5 * Allow multiple tag settings to appear in a single page. 2007-02-14 04:05:08 +00:00
joey 6fc66f83de * Fix the template, toggle, and conditional plugins to filter text before
preprocessing it.
* Fix smiley plugin to support smileys at the very beginning or end of
  the content.
2007-02-14 00:11:19 +00:00
joey 479c7a1ea6 * Allow plugins to add new types of tests that can be used in PageSpecs.
* Add a "conditional" plugin, which allows displaying text if a condition
  is true. It is enabled by default so conditional can be used in the
  basewiki.
* Use conditionals in the template for plugins, so that plugin pages
  say if they're currently enabled or not, and in various other places
  in the wiki.
2007-02-12 02:44:47 +00:00
joey 1eb59c4760 * Add "reverse" option to inline to invert sort orders. 2007-02-08 19:48:00 +00:00
joey 58141a0ebc * Patch based on a patch from Ethan to support relative matching in
PageSpecs, by using "./". pagespec_match() has grown a new third parameter
  to support this.
2007-02-06 21:17:25 +00:00
joey 46f0f5bdc2 * Add feedshow option to allow reducing the number of items included in
an rss or atom feed.
2007-02-05 21:54:36 +00:00
joey 762ecf9461 missing IkiWiki:: 2007-02-03 02:07:03 +00:00
joey 5f162cfd34 * Add canedit hook, allowing arbitrary controls over when a page can be
edited.
* Move code forcing signing before edit to a new "signinedit" plugin, and
  code checking for locked pages into a new "lockedit" plugin. Both are 
  enabled by default.
* Remove the anonok config setting. This is now implemented by a new
  "anonok" plugin. Anyone with a wiki allowing anonymous edits should
  change their configs to enable this new plugin.
* Add an opendiscussion plugin that allows anonymous users to edit
  discussion pages, on a wiki that is otherwise wouldn't allow it.
* Lots of CGI code reorg and cleanup.
2007-02-02 02:33:03 +00:00
joey d67c4817aa * Fix several more missing translations of Discussion. 2007-01-31 07:18:06 +00:00
joey 344ab0a16b * Fix for missing backlinks() in pagestats plugin. 2007-01-31 07:13:51 +00:00
joey 2dc010d66a * Fix one more missing translation of Discussion. 2007-01-31 07:10:11 +00:00
joey 64ca9a921a * Fix openid signin secret generation code. This fixes the bug that made
all openid signins fail the first time, and then succeed the second
  time.
2007-01-30 07:21:06 +00:00
joey 5a128f3d63 * Replace underscores in shortcut texts with spaces when formatting for
display. This allows using a shortcut like [[wikipedia War_of_1812]],
  which links to the correct remote page, but is displayed nicely.
2007-01-28 01:01:33 +00:00
joey f6e917fcce * Fix handling of discussion links on discussion pages when l10n is used. 2007-01-18 15:06:57 +00:00
joey e1c0576029 * Fix missing categories in rss/atom feeds. 2007-01-14 20:14:36 +00:00
joey 1379fa7402 feh 2007-01-14 05:01:46 +00:00
joey d253cef179 fix broken format string, manual unfuzzy 2007-01-14 04:28:50 +00:00
joey 5608aa078e * In the aggregator, check for and deal with post filenames that are
longer than the maximum file length.
2007-01-14 04:17:53 +00:00
joey b31dc8d994 * Fix --locale to control LC_ALL now. 2007-01-10 20:25:00 +00:00
joey 3f3f3e46ad * Add a rawhtml plugin that allows copying raw html files from the srcdir. 2007-01-08 21:00:18 +00:00
joey 8daaa11baa added some comments for translators 2007-01-04 12:00:23 +00:00
joey f94e1dc11b fix whitespace 2007-01-03 04:19:51 +00:00
joey 7819f34a50 * Add a textile format plugin contributed by mazirian. 2006-12-29 05:18:39 +00:00
joey 178ab4c51c * Don't put discussion links on discussion pages. 2006-12-29 04:45:09 +00:00
joey ef165d652e use same logic as for regular discussion links 2006-12-29 04:40:38 +00:00
joey 912521ef07 * Initial work on internationalization of the program code. po/ikiwiki.pot
is available for translation.
* Export gettext() from IkiWiki module.
2006-12-29 04:38:40 +00:00
joey d83d11e6b8 * Add mirrorlist plugin. 2006-12-23 01:07:11 +00:00
joey 31d0021e9c * Add support for links of the form [[../foo]], this links to the page
* Fix code to make absolute urls for rss feeds, was missing some urls.
* Fix double-escaping of html entities in titles etc in rss feeds
  that occured if escaped characters were present in the page filename.
2006-12-21 21:52:06 +00:00
joey 472dabbb60 * Turn $config{wiki_file_prune_regexps} into an array that is easier to
manipulate.
* Only exclude rss and atom files from processing if the inline plugin
  is enabled and that feed type is enabled. Else it's just a copyable file
  type.
* Move rss and atom option handling code into the inline plugin.
* Applied a rather old patch from Recai to fix the "pruning is too strict"
  issue. Now you can have wiki source directories inside dotdirs and the
  like, if you want.
2006-12-21 19:36:15 +00:00
joey 83109863f6 * Fix an issue with inlining a page with a rss feed inside another
page with an rss feed.
2006-12-21 13:51:50 +00:00
joey 02c41e9eb1 use POST 2006-12-18 16:11:51 +00:00
joey 50c7f7ab04 * Fix sometimes broken links to Discussion pages from blog pages. 2006-12-14 19:41:41 +00:00
joey 264a28a3b4 include choice in commit msg 2006-12-14 19:25:05 +00:00
joey c269d5c789 * Use POST for poll to avoid some robots. 2006-12-14 19:04:42 +00:00
joey c0cf13dbb0 * Fix various links on the hyperestradier pages. 2006-12-04 10:50:46 +00:00
joey f65fa0ad68 * Fix daemonisation code to only do daemon setup things after forking the
child process.
2006-12-02 00:12:26 +00:00
joey 951522ebc3 * More build deps updates.
* /dev/null fortune failures
* Add libtime-duration-perl to build deps, as it's used by the svn module
2006-11-28 18:16:04 +00:00
joey abd262cf58 * Allow /etc/ikiwiki/wikilist to list just the names of users, if so then
* Fix url absolution code in inline plugin to support class and id fields in
  links and imgs, and to support anchor urls.
2006-11-28 09:10:42 +00:00
joey 39c917cc5a bug 2006-11-26 20:56:46 +00:00
joey 10a45c8f43 oops 2006-11-26 20:53:29 +00:00
joey 278ea6e037 bugfix 2006-11-26 20:52:37 +00:00
joey fc11e4ad81 bugfixes 2006-11-26 20:50:46 +00:00
joey e7ddbb822a bugs 2006-11-26 20:23:23 +00:00
joey 5800d2160c add a poll plugin 2006-11-26 19:46:11 +00:00
joey 7aab2d2ac6 don't need to scan after all; links inside blocks of text should be found
normally
2006-11-26 19:45:39 +00:00
joey 3a31030550 add quick mode for speeding up generation of big archive pages 2006-11-26 19:43:24 +00:00
joey 04a9dbfe7d updates 2006-11-22 14:28:38 +00:00
joey 9e05810f81 rename 2006-11-22 06:15:32 +00:00
joey 4a40b5f9d5 bugfixen 2006-11-22 04:26:44 +00:00
joey a405b46c3b * Add toggle plugin.
* Introduce the nicebundle. This is a kind of plugin, that just enables
  many other plugins. It's an easy way to boost ikiwiki from its default,
  basic wiki, to a full-featured wiki, without manually picking the right
  set of plugins. New plugins will be added to the nicebundle from time to
  time.
2006-11-22 02:28:42 +00:00
joey ffb2700043 * Add a test suite for the mercurial backend, contributed by Emanuele Aina.
* Add a test suite for the svn backend.
* Daemonize before sending RPC pings, since that can take a while
  and/or hang.
* Daemonize before sending commit mails, as that can also take a long
  time/hang if the mail server is unhappy.
* Factor out commit mail sending code into new function.
2006-11-21 17:47:53 +00:00
joey fc0b70e700 formatting 2006-11-21 01:40:47 +00:00
joey c24be1b752 add 2006-11-20 20:55:37 +00:00
joey 3e593eb9c0 * Add "last" parameter to hook function. Very basic ordering, and hopefully
nothing more spohisticated will be needed.
* Add formbuilder_setup and formbuilder hooks.
* Split out a passwordauth module, that holds all the traditional password
  based authentication etc code. It's enabled by default, but can be disabled
  if you want only openid or some other auth method.
2006-11-20 20:37:27 +00:00
joey eac31eff5c shortcut stuff 2006-11-20 11:31:23 +00:00
joey b6116256c5 get rid of wikiformat build dep 2006-11-20 10:29:39 +00:00
joey e43cd269d2 * Add openidsignup config option.
* Make the openid plugin support the callbacks from myopenid.com via its 
  affiliate program.
* Change how post signin actions are propigated through the signin process;
  they're now stored in the session.
2006-11-20 09:40:09 +00:00
joey 54cf5a62ca * Make auth methods pluggable.
* Move httpauth support to a plugin.
* Add an openid plugin to support logging in using OpenID.
2006-11-20 01:52:18 +00:00
joey 54c90b2d41 * Fix img plugin's handling of adding dependencies for images that do not
yet exist.
2006-11-09 20:58:24 +00:00
joey 35ee7e44a6 * Make sure to check for errors from every eval. 2006-11-08 21:03:33 +00:00
joey 6e1986cf12 * Patch from Ethan Glasser Camp to add a skip option to the inline plugin. 2006-11-08 20:39:48 +00:00
joey cb3f89f429 * Enable utf8 file IO in aggregate plugin.
* Fix some issues with the new registration form.
2006-11-08 20:13:59 +00:00
joey cc018082d0 typo 2006-11-06 04:27:29 +00:00
joey 3a3219c0e0 * Avoid syntax errors in templates used by the template plugin crashing
ikiwiki.
2006-11-05 23:44:20 +00:00
joey b78e93098b * Fix issue with aggregate plugin updating expired pages. 2006-11-04 19:20:24 +00:00
joey 369cf45ace * Patch from James Westby to support podcasting, photoblogging, vidcasting,
or what have you, by creating enclosures for non-page items that are
  included in feeds.
2006-11-01 06:45:59 +00:00
joey 5a82103526 * Implemented expiry options for aggregate plugin.
* Use precalculated backlinks info when determining if files need an update
  due to a page they link to being added/removed. Mostly significant if
  there are lots of pages.
* Remove duplicate link info when saving index. In some cases it could
  pile up rather badly. (Probably not the best way to deal with this
  problem.)
2006-11-01 05:41:37 +00:00
joey db3b72c482 instead of over and over. Typical speedup is ~4x. Max possible speedup:
8x.
* Add "scan" parameter to hook(), which is used to make the hook be called
  during the scanning pass, as well as the render pass. The meta and tag
  plugins need to use the new scan parameter, so will any others that modify
  %links.
* Now that links are calculated in a separate pass, it can also 
  precalculate backlinks in one pass, which is O(N^2) instead of the
  previous code that was O(N^3). A very nice speedup for wikis with lots
  (thousands) of pages.
2006-10-28 05:07:56 +00:00
joey 771791104c * Change the rss feed title from the wikiname to the page title, with
an exception for the wiki's toplevel index page, which will still use the
  wikiname as the feed title.
* Sanitize possibly problimatic characters out of the polygen grammar names,
  just in case. Should not be exploitable anyway, since it only tries to run
  polygen after finding the specified grammar file.
2006-10-22 21:12:50 +00:00
joey e54d901565 * Add an img plugin, based on Christian Mock's img plugin, but stripped
down to the bare essentials. Useful for handling large images on websites.
2006-10-21 21:59:44 +00:00
joey 182748a9c1 * Change the rss feed title from the wikiname to the page title.
Overriding the page title with meta title already overrode the rss feed
  tittle.
2006-10-20 21:17:36 +00:00
joey ea217fdf8f todo 2006-10-16 19:06:29 +00:00
joey 7c18261b80 * Wrap entire technortati ping operation in an eval to catch all possible
failure modes, after I observed a simple ->value crashing ikiwiki when
  a ping failed.
2006-10-16 19:03:33 +00:00
joey b973ed8269 * Add no_override parameter to hook().
* Add a shortcut plugin, inspired by Victor Moral's contributed shortcuts 
  plugin, but featuring a more ikiwiki-ish syntax and with shortcuts that
  can be configured using a page in wiki.
2006-10-15 19:33:52 +00:00
joey 9256360490 * Make the aggregate plugin emphasize error messages. 2006-10-13 18:31:18 +00:00
joey be55f6fd7c * Atom feed support based on a patch by Clint Adams.
* Add feeds=no option to inline preprocessor directive to turn off all types
  of feeds. feeds=rss will still work, and feeds=atom was also added, for
  fine control.
* $IkiWiki::version now holds the program version, and is accessible to
  plugins.
2006-10-08 23:57:37 +00:00
joey 43ede4be2e change word 2006-10-08 22:12:12 +00:00
joey cefbe6210f * Change %renderedfiles to store an array of files rendered from a given
source file, to allow tracking of extra rendered files like rss feeds.
* Note that plugins that accessed this variable will need to be updated!
  The plugin interface has been increased to version 1.01 for this change.
* Add will_render function to the plugin interface, used to register that a
  page renders a destination file, and do some security checks.
* Use will_render in the inline and linkmap plugins.
* Previously but no longer rendered files will be cleaned up.
* You will need to rebuild your wiki on upgrade to this version.
2006-10-08 21:56:50 +00:00
joey b78e139c50 * Don't fail syntax check if Text::Typography isn't installed.
Closes: #389406
2006-09-26 06:08:24 +00:00
joey 9f45c3080e * Fix a forkbomb in various calls to IPC::Open2, which has a highly
braindead interface. Closes: #389383
2006-09-25 21:38:25 +00:00
joey 48e004acb1 * inline: Add ability to sort by page name, based on a patch from
Benjamin A'Lee.
2006-09-25 21:13:14 +00:00
joey bbfe1b9058 move use 2006-09-21 20:30:03 +00:00
joey c7140ad90b * Add typography (SmartyPants) plugin by Recai. 2006-09-21 20:28:40 +00:00
joey 62e1a2ceed estseek patch (slightly altered) and other replies 2006-09-18 20:53:17 +00:00
joey 396341b2c3 * Yet another fix for those poor case-insensative `OSX users.
* chomp trailing newlines at the end of templates read in by the template
  plugin, to allow use of the template preprocessor directive in
  whitespace-sensative situations. Closes: #387073
2006-09-18 19:28:09 +00:00
joey fa96eab120 * Updated ikiwiki.svgz from Recai, includes an icon and is used to generate
a multi-resolution favicon.ico.
2006-09-16 15:12:01 +00:00
joey eabafab8e4 oops... 2006-09-16 01:53:14 +00:00
joey 0df2ad5dfe * Support Text::Markdown from CPAN, which has a different interface from
the original markdown or the one in Debian.
2006-09-16 01:50:29 +00:00
joey 39fd60f1ab * Deal with CPAN installing Markdown as Text::Markdown, while it's
installed as just Markdown by apt.
2006-09-16 01:14:30 +00:00
joey 0f25ec8eb6 * pagetemplate hooks are now also called when generating cgi pages.
* Add a favicon plugin, which simply adds a link tag for an icon to each
  page (and cgis).
2006-09-16 00:52:26 +00:00
joey dfedb0351d * Patch from Recai to fix a wide character warning from the search plugin
during setup if the wikiname contains utf8.
2006-09-15 17:10:53 +00:00
joey 96b395705a * Fix a baseurl problem in hyperestradier search results. 2006-09-15 03:15:34 +00:00
joey 65d9871a38 oops.. 2006-09-14 23:14:48 +00:00
joey 9575948b51 hail UB313! 2006-09-14 22:28:04 +00:00
joey 9bae900242 * Add a module version number to IkiWiki, so you can "use IkiWiki '1.00'"
to declare which version of the interface your plugin needs.
2006-09-09 23:07:27 +00:00
joey dae0f48e91 * Work on firming up the plugin interface:
- Plugins should not need to load IkiWiki::Render to get commonly
    used functions, so moved some functions from there to IkiWiki.
  - Picked out the set of functions and variables that most plugins
    use, documented them, and made IkiWiki export them by default,
    like a proper perl module should.
  - Use the other functions at your own risk.
  - This is not quite complete, I still have to decide whether to
    export some other things.
* Changed all plugins included in ikiwiki to not use "IkiWiki::" when
  referring to stuff now exported by the IkiWiki module.
* Anyone with a third-party ikiwiki plugin is strongly enrouraged
  to make like changes to it and avoid use of non-exported symboles from
  "IkiWiki::".
* Link debian/changelog and debian/news to NEWS and CHANGELOG.
* Support hyperestradier version 1.4.2, which adds a new required phraseform
  setting.
2006-09-09 22:50:27 +00:00
joey aa2b3b8f63 * Add a googlecalendar plugin. A bit special-purpose, but it shows
one way to to deal with user-supplied content that could cause XSS
  issues w/o the htmlscrubber, and won't survive the scrubber.
2006-09-09 07:11:51 +00:00
joey 0e224e9f9c * Add a missing -n to tla undo call.
* otl2hmtl can't be safely used with IPC::Open2 since it sometimes
  writes before consuming its whole stdin. Avoid this deadlock.
* Fix alt tags for outline checkboxes.
2006-09-08 20:33:49 +00:00
joey 6e273d60a6 shorten further 2006-09-07 23:55:21 +00:00
joey 2fd2646e66 remove the "0 new", it's not very useful 2006-09-07 23:54:37 +00:00
joey 72ad3a5d34 simplify 2006-09-07 07:04:58 +00:00
joey 3e9a6a7d4f size limits 2006-09-07 06:58:27 +00:00
joey 0a8fc6ddf5 force charset 2006-09-07 05:54:01 +00:00
joey eff2ddbe9a * Add a linkmap plugin (requires graphviz). 2006-09-07 05:31:01 +00:00
joey 025cf0083e typo 2006-09-07 03:45:28 +00:00
joey 7ba4a844a8 * Include <link rel> tag for RSS feeds, used by some aggregators and
firefox to find the feed.
2006-09-06 21:03:39 +00:00
joey 7f243ae21a * Add proper waitpid calls for open2ed processes throughout to avoid
zombies; this hit htmltidy especially badly.
2006-09-03 20:11:39 +00:00
joey f0393523c8 * Fix another destpage issue in the inline directive. Closes: #385512
again.
2006-09-03 19:54:44 +00:00
joey fdaab0fddd releasing version 1.23 2006-09-03 16:25:47 +00:00
joey bd4cd357a1 * Add processed date to aggregate preprocessor directive status output. 2006-09-02 02:07:44 +00:00
joey fe5c48f3a0 fix taint issue 2006-08-29 22:09:16 +00:00
joey 1aac0b5a60 don't add actions if all empty 2006-08-28 19:46:00 +00:00
joey 1aeb64e148 * Patch from James Westby to add an actions option to inline; this
adds Edit and Discussion links at the end of blog entries.
2006-08-28 19:43:07 +00:00
joey 4895955cea * Change htmlize, format, and sanitize hooks to use named parameters. 2006-08-28 18:17:59 +00:00
joey e16746a52f * Add toc (table of contents) plugin. 2006-08-28 07:40:20 +00:00
joey e5b323a633 bugnum 2006-08-28 04:40:00 +00:00
joey a18e304e39 important robustness fix 2006-08-27 04:14:41 +00:00
joey d0bbfeefbe fnord 2006-08-27 04:04:59 +00:00
joey a61d531edb * Added a ddate plugin. 2006-08-27 03:55:45 +00:00
joey 2bec3518c2 * Patch from James Westby to add a template for the search form.
* Cache search form for speedup.
2006-08-26 21:57:59 +00:00
joey 38ce4c3cef * Patch from James Westby to allow a description to be set for rss feeds. 2006-08-26 17:36:46 +00:00
joey 6fc3b624f2 * Generalised preprocesser loop protection code. 2006-08-25 19:06:37 +00:00
joey d4ca3b3f50 * Change order of linkify and preprocess; first preprocess and then linkify.
This allows passing a wikilink inside a parameter to a preprocessor
  directive without it being expanded to html, and leaking out of the
  parameter, which had required some non-obvious use of triple-quoting
  to avoid. Note that any preprocessor plugins that output something
  that looks like a wikilink will now have it treated as such; AFAIK
  this doesn't change any behavior though except for the template plugin.
* Enable preprocessor directives when previewing an edit.
2006-08-23 20:23:57 +00:00
joey f27bf9e400 fixes 2006-08-23 05:57:07 +00:00
joey 9d7375c3b2 * Allow preprocessor directives to contain python-like triple-quoted
text blocks, for easy nesting of quotes inside.
* Add a template plugin.
* Use the template plugin to add infoboxes to each plugin page listing basic
  info about the plugin.
2006-08-23 05:41:07 +00:00
joey 467d5b5e2a * Fix a bug introduced last version to do with nested inlines. 2006-08-22 17:02:01 +00:00
joey 894ae79699 fix regexp 2006-08-19 18:28:40 +00:00
joey ac29bbdf28 add in a hack to improve the look of check marks in outline 2006-08-19 18:27:57 +00:00
joey 63edea27bc * Add first draft at a Restructured Text (rst) plugin, by Sergio
Talens-Oliag. Note that this has many known issues -- see the caveats on
  the plugin's page.
* Credit everyone who wrote a plugin on the plugins' wiki pages.
2006-08-19 05:05:02 +00:00
joey 02e4b42034 kill footer 2006-08-19 03:06:32 +00:00
joey eea9f5053a generate valid xhtml in all cases, including nesting 2006-08-18 22:22:47 +00:00
joey 7f58a84dea * Add otl format plugin, which handles files as created by vimoutliner. 2006-08-18 21:48:03 +00:00
joey 6f6495d7a6 remove maxdepth, it can be accomplished by pagespec like ".. and !*/*/*/*" 2006-08-18 16:45:28 +00:00
joey 2eac55e90e * Add a map plugin contributed by Alessandro Dotti Contra. 2006-08-18 16:18:45 +00:00
joey c6ee9cbf45 * Support inlining pages raw, rather than creating a blog.
* Clean up yes/no parameter parsing in inline plugin.
* Implemented better cycle detection in the inline plugin; nested inlines
  will now work.
2006-08-18 03:56:18 +00:00
joey 516c9eb3eb note 2006-08-18 01:28:54 +00:00
joey 69d1592a17 * Call filter hooks on inlined page content. 2006-08-18 00:44:46 +00:00
joey cedb48765b * Add a tail fin^W^Wsidebar plugin by Tuomo Valkonen.
* If a page links to itself, mark up the link text in a span with
  class="selflink" so that it can be styled. I don't have a useful style
  defined for that though.
2006-08-18 00:24:22 +00:00
joey 9556c4a889 * Fix a bug in the aggregator introduced last version that caused all
aggregator state to be lost during a non-aggregating build.
2006-08-17 23:09:55 +00:00
joey 480a49af47 * Catch failing IPC::Open2 in tidy plugin and retry in case this is a
transient failure to fork (which I've seen happen in the wild).
2006-08-17 20:39:00 +00:00
joey 53cf5ca9a3 * Fix an infinite loop in the aggregator when finding a unique filename. 2006-08-16 17:37:36 +00:00
joey df30eda283 * Add some locking to prevent 2 aggregators from running at once. 2006-08-16 17:32:30 +00:00
joey 3bf104e528 avoid undefined value warning in some case 2006-08-15 18:06:55 +00:00
joey 4b36dee35a * The last release accidentially installed ikiwiki as ikiwiki.pl, now fixed.
* Add --version.
* Man page format fixups.
* Add a %pagecase which maps lower-case page names to the actual case
  used in the filename. Use this in bestlinks calculation instead of
  forcing the link to lowercase.
* Also use %pagecase in various other places that want to check if a page
  with a given name exists.
* This means that links to pages with mixed case names will now work,
  even if the link is in some other case mixture, and mixed case pages
  should be fully supported throughout ikiwiki.
* Recommend rebuilding wikis on upgrade to this version.
2006-08-13 02:03:43 +00:00
joey d39717a1cb * If the meta plugin overides the page title, set a title_overridden
variable in the template to true. This allows doing things with the
  templates conditional on the title being overriden.
2006-08-12 17:51:32 +00:00
joey 3fcc926c5f releasing version 1.17 2006-08-12 16:56:04 +00:00
joey 2eff1c64ab * Set die_on_bad_params => 0 for all templates, to allow users to modify
them without annoyances.
* Suck in the page content when generating an inline archive page, to work
  around the meta plugin's lack of caching of title metadata across runs.
2006-08-12 16:36:35 +00:00
joey cade16fbb6 * Improve markdown loading. First, try to load it as a properl perl module,
in case it was installed as one. Then fall back to trying
  /usr/bin/markdown.
* Document in install page how to install markdown, since it has no
  installation procedure in the upstream tarball.
2006-08-10 04:11:58 +00:00
joey 119e3e209d * Display an error message if /usr/bin/markdown can't be loaded. 2006-08-10 03:03:34 +00:00
joey 2ea8fbe2d9 misc changes 2006-08-05 21:15:50 +00:00
joey a41abc80ac * Turn off tidy indentation too. 2006-08-05 02:31:38 +00:00
joey d98b2480f9 * Move tidy back to sanitize hook, found out how to only show body. 2006-08-05 02:28:04 +00:00
joey e8ec0187da * Disable tidy generator tag. 2006-08-05 01:09:04 +00:00
joey 485a017a88 * Fix dates in rss feeds if running localised, so they're still rfc 822. 2006-08-05 00:45:03 +00:00
joey 0708bb8aec * Don't run tidy with -xml as that fails if the input is not well-formed.
Run it with -asxhtml instead, so it will output well-formed xhtml no
  matter what the input.
* Disable tidy warnings too.
* Add a new format hook, and make tidy use it, since tidy can really only
  operate on and output complete html documents, not the body chunks
  that sanitise gets.
2006-08-04 07:41:02 +00:00
joey acaee3d0bc * Fix the htmltidy plugin, which wasn't working due my breaking it when
I added it..
2006-08-04 07:04:16 +00:00
joey 91e416b5f3 * Also generate rel=bookmark links for permalinks. 2006-08-04 04:29:18 +00:00
joey d9ea7d5b0b fix 2006-08-04 03:12:12 +00:00
joey 4c3e9f0044 need to make it really utf8 or the url encode won't work 2006-08-04 03:06:23 +00:00
joey a1c7308b7d use htmlpage a couple of places instead of hardcoding the extension 2006-08-04 02:41:08 +00:00
joey d8819689b1 * Add xhtml files to the default prune regexp. 2006-08-04 02:35:54 +00:00
joey a5ea63e531 fix 2006-08-04 02:22:16 +00:00
joey d3713b0164 * Encode link and guid urls in rss feeds to avoid illegal utf8 slipping in. 2006-08-04 01:57:32 +00:00
joey e36f6b6a99 oops 2006-08-04 00:59:00 +00:00
joey 819b31d46c * Various CSS and formatting changes. 2006-08-04 00:47:28 +00:00
joey c5919df5f3 * Make aggregator save permalinks and author name to pages as metadata.
* Add permalink and author support to meta plugin, affecting RSS feeds
  and blog pages.
* Change titlepage() to encode utf-8 alnum characters. This is necessary
  to avoid UTF-8 creeping into filenames in urls. (There are still
  some other ways that it can get in.)
2006-08-04 00:01:51 +00:00
joey e8b39b0941 * Try to handle relative links in aggregated feeds. However,
the current support is a crude hack due to limitations of XML::Feed:
  xml:base is not supported, neither is Content-Location. And of course,
  relative links in RSS feeds are ill-undefined..
2006-08-03 21:50:47 +00:00
joey 7ac32ec4d6 oops 2006-08-02 00:52:47 +00:00
joey 2794d7ef5a * Renamed GlobLists to PageSpecs.
* PageSpecs can now include nested parens, "and", and "or". This remains
  backwards compatible to the old GlobList format. It's implemented by
  treating the GlobList as a very limited microlanguage that is transformed
  to perl code that does the matching.
* The old GlobList format is deprecated, and I encourage users to switch to
  using the new PageSpec format. Compatability with the old format will be
  removed at some point, possibly by 2.0.
* Wiki rebuild needed on upgrade to this version due to PageSpec change.
* Add support for creation_month and creation_year to PageSpec.
  Closes: #380680
* Changes to index file encoding.
2006-08-02 00:14:31 +00:00
joey 418096be9e typo 2006-08-01 20:12:15 +00:00
joey 53d81ebcd6 * Patch from Roland Mas to support an rss=no parameter to inline directives.
Closes: #380743
2006-08-01 20:08:42 +00:00
joey 8abe719f81 * Fix issue with unicode filenames and updating the hyper estradier search
index. (Aka Please Please Please, let that be the last one.)
2006-07-31 01:24:18 +00:00
joey 2604c3217e one more change; use the page that pulls in a feed as the anchor for the
default directory
2006-07-31 01:05:22 +00:00
joey 953ffa1fe3 fix 2006-07-31 00:59:54 +00:00
joey e4ccc4f3b0 fix title metadata on blogs, reorg needed to do it, simplified tag some 2006-07-31 00:34:18 +00:00
joey 908e004b4c * Title metadata of inlined pages now shows up in blogs, although not yet
in their rss feeds.
2006-07-30 23:51:48 +00:00
joey 8883001615 * Change meta tags to use html entity-escaped text for values, so that
quotes and such can be represented in title tags.
* Depend and build-depend on HTML::Parser for HTML::Entities which is used
  for the above.
* Make --rebuild also cause --aggregate to re-download and write aggregated
  pages.
* Avoid outputting duplicate meta info.
* Include title metadata on aggregated posts for capitalised and un-munged
  titles.
2006-07-30 22:58:48 +00:00
joey 26c2c63c97 add test for nonexistant polygen 2006-07-30 21:54:03 +00:00
joey 73e6f81ef3 escape slashes in page names 2006-07-30 21:51:37 +00:00
joey 7e35ad2cd9 when autogenerating a dir naem, include "feed/" in it 2006-07-30 07:30:08 +00:00
joey 9ae54f904a fix 2006-07-30 07:17:44 +00:00
joey 22adebe8ad need to lower-case pages, sigh.. 2006-07-30 07:07:20 +00:00
joey 33aab4802e erase old tags 2006-07-30 06:57:42 +00:00
joey b220a11008 stop abusing titlepage for internal encoding (esp since it doesn't work) 2006-07-30 06:55:33 +00:00
joey b0885a7278 fix encoding of some stuff 2006-07-30 06:20:58 +00:00
joey dcaa4b013e more robust and faster handling of feedurls 2006-07-30 06:14:44 +00:00
joey b9693d13ef robustness and etc 2006-07-30 05:44:17 +00:00
joey c23e8009bf deal with title-less feeds 2006-07-30 05:29:03 +00:00
joey 68d7fbfabd md5 can't handle wide chars 2006-07-30 05:17:59 +00:00
joey c5b02885e9 fixes, and make dir optional 2006-07-30 05:14:35 +00:00
joey e49ff966a3 * ikiwiki can now download and aggregate feeds with its new aggregate
plugin, so it's possible to implement a Planet using ikiwiki!
* --setup --refresh no longer rebuilds wrappers. Use --setup --refresh
  --wrappers to do that.
* Add %IkiWiki::forcerebuild to provide a way for plugins like aggregate
  to update pages that haven't changed on disk.
2006-07-30 04:31:08 +00:00
joey ab75c0323b * Add a run_hooks function for the common task of running all hooks of a
given type.
* Add a savestate hook.
* Don't put blog post forms on pages if there's no cgiurl set.
* Reformat front page.
2006-07-30 00:20:11 +00:00
joey d9633de2ce * fortune plugin (trivial) 2006-07-29 21:53:57 +00:00
joey 8f2d8142e4 * Allow preprocessor directives to be expanded in inlined blog pages.
However, to avoid inlining loops etc, don't expand inline directives in
  inlined pages.
2006-07-29 21:38:50 +00:00
joey 48f9d39339 * htmltidy plugin from Faidon. 2006-07-29 20:50:20 +00:00
joey 782e4d48df fix %links iteration 2006-07-29 20:30:39 +00:00
joey 299bb8bef3 more links 2006-07-29 20:14:07 +00:00
joey 498dba8b70 use htmllink 2006-07-29 20:07:48 +00:00
joey 35c90a5b58 "Viva l'Italia!"
* Polygen plugin from Enrico.
2006-07-29 20:01:29 +00:00
joey d76c73eb86 * New pagestats plugin from Enrico, which can generate a table counting
the backlinks for each page, or a del.icio.us style cloud.
2006-07-29 17:44:41 +00:00
joey 267f98e2e1 * Put categories in rss feeds for tagged items. 2006-07-29 07:25:17 +00:00
joey a0653933d3 * Add exclude option in setup files, works same as --exclude. 2006-07-28 17:48:24 +00:00
joey 409e62021c * Add getopt hook type, this allows plugins to add new command-line options.
* Add --tagbase option to tag plugin.
2006-07-28 05:26:49 +00:00
joey 8fd9c9accb Hope encrico doesn't mind, but I changed the location and layout of the
tags on the templates. This way seems to fit better with the links. Also
some css cleanup, avoid hardcoded <i> etc.
2006-07-28 00:21:13 +00:00
joey 22df49a2bf more destpage improvements 2006-07-27 23:47:13 +00:00
joey dea23a1031 * Switch pagetemplate hooks to using named parameters.
* Pass a "destpage" parameter to preprocessor and pagetemplate hooks.
  This will be the page that a source page will be part of, which is
  different than the source page for inlined pages.
* Audited all plugins to endure they pass page, destpage to htmllink
  appropriatly. This means inlining of various plugins will not work
  properly, with correct links generated.
2006-07-27 23:41:58 +00:00
joey 20eacc2c1f - Adds a tag plugin that allows more easily tagging pages.
The meta plugin can also still be used for that, but the tag plugin
    also lists a page's tags at the bottom of the page.
  - Allows preprocessor directives to have parameters with no specified
    value.
  - Fixes preprocessor directive parameter parsing so that
    foo=bar baz now means "foo=bar" and a "baz" with no value.
* Run pagetemplate hooks when inlining pages so that inlines pages also
  list their tags.
* Make all plugins with pagetemplate hooks check that variables exist
  on the template before setting them.
2006-07-27 23:08:03 +00:00
joey 5017ffd8a5 * Patch from Enrico that
- allows preprocessor directives to have parameters with no specified
    value
  - fixes preprocessor directive parameter parsing so that
    foo=bar baz now means "foo=bar" and a "baz" with no value
  - Add a tag plugin that allows more easily tagging pages.
    The meta plugin can also still be used for this.
2006-07-27 21:38:02 +00:00
joey 3a2cb0ecff * Fix CamelCase regexp to not break [[FooBar|BazBar]] WikiLinks. 2006-07-26 22:09:55 +00:00
joey d9c118dbf1 * Run page through any relevant filters when generating a page preview.
* Noticed a bug in the wikitext markup plugin -- it made CamelCase links the
  default throughout the wiki, not only on wikitext pages. Decided to call
  this a feature, and split the camelcase support out into a separate plugin
  that is independant of wikitext.
2006-07-26 21:54:44 +00:00
joey 0f22d66c96 * Add wikitext markup plugin, which supports ".wiki" pages written in the
original wiki syntax, CamelCase links and all.
2006-07-07 18:28:27 +00:00
joey 7b87549558 * Don't sent pings if the wiki is being rebuilt. 2006-07-04 01:02:04 +00:00
joey 66ce94c464 add htmlise 2006-07-03 22:42:11 +00:00
joey 8d4c474f3b * Add a html plugin, which can be used to write wikis in raw html,
if you'd ever want to do such a thing. Slightly tricky, since ikiwiki
  defaults to not processing .html files, since w/o this plugin they would
  be copied unsanitised. With this plugin, it will process, and html
  sanitise, them like any other page type.
2006-07-03 22:31:20 +00:00
joey af029154d6 use "use open" pragma to avoid manually needing to specify utf8 everywhere
and also to set default stdio mode

change filetype to return undef, not "unknown"
2006-07-03 22:14:52 +00:00
joey 6551c1e560 * Support htmlize plugins and make mdwn one such plugin, which is enabled by
default (of course!). Based on a patch by Faidon Liambotis.
2006-07-03 22:08:04 +00:00
joey e71ca35ac6 remove the blog_list sub, only used one place and simplifies code to do
away with it
2006-07-02 19:44:42 +00:00
joey d1d212203c * Centralised all calls to HTML::Template and force all the templates
to be read as utf8.
2006-07-02 19:06:08 +00:00
joey 14ca7095cb don't die fatally here 2006-06-27 01:14:46 +00:00
joey b0e7e2e123 * Support pinging services such as Technorati using XML-RPC to notify them
about changes to rss feeds.
2006-06-27 01:13:03 +00:00
joey 5fa878cc75 * Fix orphans plugin to not count a link to a nonexistant page as a reason
for a page not being an orphan.
2006-06-25 07:21:53 +00:00
joey 5774373046 * Fix absolute url munging in rss generation to support https, ftp, etc urls
not just http urls.
2006-06-08 06:07:45 +00:00
joey 5454186939 meta headers are not sanitised; prevent html leaking into them 2006-06-02 06:11:22 +00:00
joey d534483b9b * Reorganised the doc wiki's todo/* pages, using a link/tag to flag
* Allow pagetemplate plugins to override *anything* in the template.
* Add a meta plugin, which allows specifying various metadata about pages,
  like license and author. It also allows for inserting html link and meta
  tags into html, overriding the title, and adding hidden WikiLinks, which
  can be useful when using link-based globbing for page categorisation.
* Remove preprocessor directives from inlined pages.
* Allow simple preprocessor directive values to be specified w/o quotes.
2006-06-02 04:49:12 +00:00
joey 7a1e12675e * Add --timeformat config option to allow changing how dates are displayed.
Note that as a side effect, dates will now be displayed using the local
  timezone, not as GMT.
2006-05-29 05:09:43 +00:00
joey 65d0aee407 * --getctime had bitrotted (well I only ever used it the once so far..),
* When inlining a page in another one, links from the inlined page are now
  expanded the same as they are when rendering the inlined page as a
  standalone page. So rather than being expanded from the POV of the
  inlining page, they are expanded from the POV of the inlined page.
  For example, a link from blog/foo to "bar" will now link to blog/bar
  if it exists. Previously this needed to be a link explicitly to 
  "blog/bar"; such links will also continue to work.
  (This was slightly complex to do as the link still has to be constructed
  relative to the inlining page.)
2006-05-26 16:11:53 +00:00
joey 282893be81 * Rebuilding on upgrade to this version is recommended.
* Add a html validity check to the test suite, using the wdg-html-validator,
  if available.
* Make the html valid when there is nothing in the actions list by adding an
  empty <li> to the end of it.
* Reordered some function call parameters for consistency.
2006-05-26 08:24:36 +00:00
joey 5466a1daf9 * The page name and parent links has switched from using a <h1> to a styled
<span>, so pages can use <h1> internally instead of needing to use <h2>.
* Updated all of ikiwiki's own wiki pages for that.
* Add pagetemplate hook, which can be used by plugins that want to mess
  around with adding new stuff to the page template.
* Remove headercontent; the search plugin now adds the search box to the
  header by registering a pagetemplate hook, and other plugins should do
  similarly.
2006-05-26 01:10:58 +00:00
joey 7f64dd4f66 * Tell HTML::Scrubber to treat "/" as a valid attribute which is its
very strange way of enabling proper XHTML <br /> type tags. Output html
  should be always valid again now.
2006-05-25 22:03:22 +00:00
joey afa57f5c07 * Remove dups from the brokenlinks list. 2006-05-06 03:57:43 +00:00
joey b2bd444f31 * Allow discussion links on pages to be turned off with --no-discussion. 2006-05-05 18:20:52 +00:00
joey 6652de5e1a * Removed --sanitize and --no-sanitize, replaced with --plugin htmlscrubber
and --disable-plugin htmlscrubber.
2006-05-05 05:41:11 +00:00
joey 157df8591f rename the "render" hook to "change", which is clearer 2006-05-05 05:10:00 +00:00
joey a14548a6ca let's actually work, shall we? 2006-05-05 04:33:58 +00:00
joey a59b1ac8d8 haiku plugin 2006-05-05 04:15:47 +00:00
joey ecfd8bcae6 update 2006-05-04 04:33:56 +00:00
joey be56970d05 * Added smiley plugin, nicely controlled and documented by the smileys page.
* Copied in some smileys from Moin Moin.
2006-05-04 04:29:37 +00:00
joey af9566ff1a rather a lot of changes to make hyperestraier search be a plugin, allowing
for other types of search engine plugins if wanted, and also opening up a
lot of new possibilities for other kinds of plugins later

some notable changes along the way:

- lots of new hook types: cgi, render, delete
- wrapper files fixed to support config strings with newlines in them
- HEADERCONTENT in page template useful for plugins. Probably needs to be
  expanded to more such for other places plugins might want to add content.
- remove unnecessary wrappers field from config info stored in wrappers
2006-05-03 21:50:39 +00:00
joey a44bfb158d change plugin interface to use named parameters for flexability 2006-05-03 19:58:58 +00:00
joey 3b0fce93e4 * Split off an IkiWiki.pm out of ikiwiki and have all the other modules use
it, this will allow for adding a unit test suite.
2006-05-02 06:53:33 +00:00
joey 99292550fd * Add an orphans plugin for finding pages that nothing links to.
* Removed backlinks page, which it turns out nothing used.
2006-05-02 06:15:31 +00:00
joey 54d5308cd8 * Added plugin system, currently only supporting for PreProcessorDirectives.
* Added a pagecount plugin, enabled by default.
* Support PreProcessorDirectives with no parameters, ie "[[pagecount ]]".
* Fixed/optimised backlinks code, to avoid rebuilding pages to update
  backlinks when the backlinks hadn't really changed.
* Moved inline page support, rss generation etc into the inline plugin,
  enabled by default.
* Added brokenlinks plugin, not enabled by default, but rather handy.
* Fix several broken links in the doc wiki.
2006-05-02 02:34:33 +00:00
Joey Hess a990afd2f7 avoid uninitialized value warning 2008-11-18 13:46:03 -05:00
Joey Hess e307eeda3d html escaping complication
Can't escape things to entities if the template then escapes the entities.
(aggregate doesn't have this problem.)
2008-11-18 02:48:24 -05:00
Joey Hess 15269fed64 improve escaping of wikilinks and preprocessor directives
The old method failed for '[' x 3.
2008-11-18 02:43:17 -05:00
Joey Hess 75f262f44d call decode_utf8 inside eval
holger reported that decode_utf8 was crashing with perl 5.8.8. Earlier, I
thought that passing 0 to the function avoided this with old perls, but
that was apparently not enough, it still crashes. So, put it inside the
eval, so we can at least recover from it crashing.
2008-11-17 15:56:15 -05:00
Joey Hess 181bdbe1a9 use HTML::Entities 2008-11-17 14:27:11 -05:00
Joey Hess e8a945845b use perl modules up front
The old code actually did the same thing, just obfuscated -- since the eval
use wasn't quoted, it used the modules on load. Thus, the error (not to
mentioned the return) was bypassed, and it just failed on load.

But that seems like the right thing to do, really, so just made it clearer
that's what happens.
2008-11-17 14:19:15 -05:00
Simon McVittie e7a840ed9a htmlbalance: new plugin that balances tags by parsing and re-serializing 2008-11-17 10:46:21 +00:00