Commit Graph

1483 Commits (7e95723dadfe2a11fcd2463f2e8adf579fdc64db)

Author SHA1 Message Date
joey 1612dce6bb * Add a htmlext config option, this can be used to make ikiwiki generate
html files with a different extension.
2007-07-25 01:16:53 +00:00
joey 4de235a385 * Make the map plugin notice when pages in the map are deleted and update
it.
2007-07-25 01:04:56 +00:00
joey c92ab9cddd * Wrap the editpage template in the standard misctemplate, this allows the
pagetemplate hook to work for that page.
* Above change fixes the favicon plugin to work on edit pages.
2007-07-16 05:24:31 +00:00
joey 3bd439fa03 * In img tag, allow link=no to disable link to full size image. Thanks,
Nis Martensen. Closes: #433188
2007-07-15 19:00:07 +00:00
joey a0aca9f585 * Fix links to alternate stylesheets when usedirs is enabled.
* Use type= not style= in html for alternate stylesheets, which is more
  correct (but in my testing both epiphany and iceweasel work ok with
  style=text/css).
2007-07-13 20:38:31 +00:00
joey eabe03fb5b * Fix links to stylesheets when usedirs is enabled. 2007-07-13 20:19:34 +00:00
joey 03dc63588c on second thought, simple alphanumeric styles are not actually useful (class is already supported), and anything more complex is too hard to do, so revert 2007-07-11 17:57:02 +00:00
joey a8fa52080d * Allow simple alphanumeric style attribute values in the htmlscrubber. This
should be safe from javascript attacks.
2007-07-11 16:50:59 +00:00
joey e0da57358c get confused. So it's best for ikiwiki to follow the compatability
* Support building on systems that lack asprintf.
* mercurial getctime is currently broken, apparently by some change in
  mercurial version 0.9.4. Turn the failing test case into a TODO test case.
2007-07-09 00:39:55 +00:00
joey 45e2c23e03 * Make the toc plugin use html-compatible anchors. This is necessary since
most web sites serve ikiwiki xhtml files as text/html and mozilla browsers
  get confused. So it's best for ikiwiki to follow the compatability 
  recommendations in appendix C of the XHTML spec. Closes: #432045
2007-07-08 16:57:05 +00:00
joey b1560f7275 * Correct a longstanding bug that could cause the edit form to be empty.
This turns out to have occured if the cgi wrapper was created by an
  ikiwiki invocation that included --rebuild. Thanks to Carl Worth for
  tracking that down.
2007-06-30 00:48:39 +00:00
joey afcf0dc79e * Patch fixing various additional problems with test suite. Closes: #425891
once more.
2007-06-26 22:11:59 +00:00
joey 3bfa109971 * Allow svnpath config option to contain additional extra slashes anywhere
w/o confusing ikiwiki.
* Rcs modules are now imported, so other modules that need similar
  normalisation of configs etc can do so.
2007-06-23 12:12:59 +00:00
joey 9a122f001a * Corrected a typo in an error handler in the image plugin. 2007-06-19 18:46:43 +00:00
joey 9dc9c113cc exit with error if Text::Typography cannot be loaded 2007-06-05 19:06:54 +00:00
joey 435e06bce1 * Add typographyattributes configuration setting to typography plugin. 2007-06-05 19:04:15 +00:00
joey d9a3c2bed2 * Make the url absolution code for feeds significantly more robust. 2007-06-03 17:10:32 +00:00
joey aadb214220 * Fix wrapper generator and untaint code's handling of strings contining
newlines.
2007-06-03 16:24:22 +00:00
joey 78323806ee * Explode some of the more insane regexps. 2007-06-01 23:40:43 +00:00
joey ba1765fbdf * More consistent encoding of titles in rss and atom feeds. Don't use
ESCAPE=HTML for titles in the templates for these feeds, and instead
  escape the title going in to the template. Previously, the title was
  sometimes double-escaped in a feed (if set via meta title), and sometimes
  not (if set from the page filename).
* In the meta plugin, when a title is set, encode the html entities in it
  numerically. This works better in the current landscape of a rss spec that
  doesn't specify encoding, and variously broken feed consumers, according
  to <http://www.rssboard.org/rss-profile#data-types-characterdata>.
2007-05-28 19:43:28 +00:00
joey 8fc1382949 didn't mean to make this change (yet) 2007-05-28 19:08:59 +00:00
joey 330bbd03df * Apply a patch from Carl Worth allowing a class attribute to be passed
through the img plugin. Also allow the id attribute to be passed through.
2007-05-28 19:07:38 +00:00
joey 8c2c8c6bea * Deal better with rebuilds that involve moving files; track and clean up the
old files.
* Change where the img plugin puts scaled images. It's better to make the
  scaled images subpages of the page that embeds them, rather than putting
  them alongside the original image, since if two pages scale the same image
  the same way, this prevents complications in dealing with two pages
  creating the same file. The move will be handled transparently, though you
  might want to rebuild your wiki to make it occur in one step.
2007-05-24 19:56:08 +00:00
joey edc6a7b7b1 the 100% correct way is to add it to %links on scan 2007-05-23 16:50:41 +00:00
joey bb0cbecbc3 * Correct bug in the img plugin that caused dependencies on images to not
always be tracked correctly.
2007-05-23 01:44:11 +00:00
joey ee843c7523 improve messages 2007-05-21 03:00:45 +00:00
joey 10017feaec Clear state after performing aggregation, since it could hypothetically
change after the lock is dropped, and before the lock is regained by the
build process. The state will now be reloaded by the build process.
2007-05-21 02:59:06 +00:00
joey 82ac63d798 * Change the aggregate plugin's locking strategy. Now it defers loading state
until the wiki is building and already locked, unless it's aggregating.
  When aggregating, it does not wait for the lock if it cannot get it, and
  instead exits, to prevent aggregating processes from piling up.
2007-05-21 02:52:51 +00:00
joey cf35ee04cd * Add a destpage parameter to the filter hook.
* Fix links to smilies generated by the smiley plugin for inlined pages. The
  old links were often wrong, but often still worked by accident.
2007-05-17 19:55:11 +00:00
joey 739325834b * Fix some bugs in password handling:
- If the password is empty in preferences, don't clear the existing
    password.
  - Actually check the confirm password field, even if it's left empty.
2007-05-17 08:06:05 +00:00
joey a9f413fea8 formatting 2007-05-12 19:28:03 +00:00
joey 63995039be optimise backlinks counting for pagestats, simplify function returns again 2007-05-12 19:17:41 +00:00
joey 08d0bd7338 * Patch from hb to fix the pagestats plugin, which was broken by a past
change to the backlinks() function.
2007-05-12 17:56:56 +00:00
joey 190202dd4e * Make all templates have a footer div to ease themeing. Required template
and style sheet updates, and unless you're using customised versions,
  you'll want to rebuild wikis on upgrade to this version to avoid
  inconsistencies.
* Allow WIKINAME to to used in footers, as an example of something to put
  there.
2007-05-11 20:09:58 +00:00
joshtriplett b8d7ae91d0 * Add an account-creation password as a simple anti-spam mechanism. If
set in the wiki setup, passwordauth will require the password in
  order to create an account.
2007-05-09 02:05:32 +00:00
joey 72c53650ad * Add the needsbuild hook. Plugins can use this to manipulate which files
ikiwiki builds when refreshing the wiki.
2007-05-09 00:48:09 +00:00
joey 127bceef5b * Add all=no option to conditional, can be used to form conditionals that do
not need to examine every page in the wiki.
* Use this to simplify the goodstuff detection in the plugin template.
2007-05-09 00:31:49 +00:00
joshtriplett e1c54fef3d Nuke trailing whitespace in shortcut.pm. 2007-05-08 23:00:59 +00:00
joey 5c6b96967d update 2007-05-08 21:31:14 +00:00
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 2c0d0109d8 correct documentation about scan hook (which has never existed) 2007-05-06 17:10:34 +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 65be0598a9 * Use div layout for the signin and preferences forms, so that they can be
styled using the stylesheet, rather than by creating signin and prefs
  templates.
* Make the openid login form nicely styled.
2007-04-30 21:27:58 +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 5c36a5cfc6 * Apply patch from hb that uses the full path to a file when adding a file
using the mercurial backend. Not 100% sure why it failed w/o the full
  path, but this still passes the test suite, and indeed, is how the test
  suite calls hg add.
2007-04-29 03:25:09 +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 b14ac07025 * Add user(name) to the PageSpec for commit subscriptions. 2007-04-27 00:30:49 +00:00
joey 01f41560e3 * Fix sending of commit mails when new pages are added via the web. 2007-04-26 23:29:19 +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 1e62d2bc0c * In mercurial backend, untaint ipaddr when using it as the user for the
commit. Thanks, Alexander Wirt. Closes: #420428
2007-04-22 17:45:39 +00:00
joey c5975243a5 * Support setting svnpath to "" for wikis that are rooted at the top of
their svn repositories, with no trunk directory.
2007-04-16 19:07:52 +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
joey c490ad5ad8 oops 2007-04-08 01:03:42 +00:00
joey 072d097be1 magic 0 2007-04-07 16:55:16 +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 a2cfdaaec5 * Hide excess backlinks and expand using CSS trick; control quantiy via
the numbacklinks setting.
2007-03-31 08:48:10 +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 c936ba1719 * Fix mercurial backend to deal with empty commit messages. 2007-03-24 15:14:53 +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 cb0c642aed * Applied a patch from Michał to make the mercurial backend pass --quiet to
hg.
2007-03-18 22:20:44 +00:00
joey 26213f8ee4 * Detect the case of two people independently creating the same page at the
same time, and let the second person resolve the conflict.
2007-03-17 23:57:03 +00:00
joey 50a9ef4753 * Make ikiwiki -verbose -setup with a setup file that enabled syslog logging
output the verbose build log to stdout, rather than to the syslog.
2007-03-17 23:32:48 +00:00
joey 188f1931c2 * Fix some broken logic in cgi creation of a subpage when a toplevel page
with the same name already exists, and generally simplify the edit code.
2007-03-17 23:20:27 +00:00
joey 6003422f45 simplify preview code 2007-03-17 22:33:34 +00:00
joey 89673afc6b add postsparkline plugin, providing sparkliney stats goodness for blog
posts
2007-03-11 00:24:31 +00:00
joey 43fd7cc0c5 correct dup page name detect in blog posting code 2007-03-08 22:16:03 +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 b365d864c5 My fix to support encoded underscores in page titles broke links to pages
with underscores in their filenames, since the link code also used
titlepage. Create a new linkpage function and have the link code use that
instead.
2007-03-07 09:48:59 +00:00
joey c69d6f669a * The slash escaping when adding to a blog from the CGI was not working
since it ended up being double-escaped. Instead, just remove slashes.
* Fix some nasty issues with page name escaping during previewing
  (introduced in 1.44).
2007-03-07 09:23:13 +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 072967e62a * Patch from Ethan to improve behavior if a page is deleted or moved while
someone is editing it.
* Some cleanup of field setting in the failed edit and conflict handling
  code.
2007-02-24 00:39:06 +00:00
joey 2dfe3efcb7 * Correct a bug that could lead to infinite looping after signin in some
circumstances.
2007-02-24 00:20:36 +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 b6e6a2154d using setsid before import.. how did that ever work? 2007-02-21 09:15:04 +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 92e5781212 * Elegant patch from Ethan to clean up the display of page names in the
dropdown when creating a new page.
2007-02-21 00:17:50 +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 29e6ff03b0 * Fix a security hole that allowed a web user to edit images and other
non-page format files in the wiki. To exploit this, the file already had
  to exist in the wiki, and the web user would need to somehow use the web
  based editor to replace it with malicious content.
  (Sorry Josh, this means you can't edit style.css directly anymore,
  although I do appreciate your fixes, actually..)
2007-02-10 20:37:36 +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 97aea86162 code checking for locked pages into a new "lockedit" plugin. Both are
* Avoid using lots of memory when copying large non-html files.
  Yes, you can keep videos in the wiki..
2007-02-03 03:27:33 +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 4ff60ef1c5 * Always call rcs_update after a commit during a web edit, to work around
the problem described in bugs/svn_fails_to_update. Thanks to Ethan for the
  analysis and patch.
2007-01-28 00:26:55 +00:00
joey c566e16d9e * Improve use of svn merge, by specifying the file to merge, rather than
chdiring to the srcdir (which wasn't right when merging in a subdir).
  Thanks Ethan.
2007-01-28 00:06:01 +00:00
joey 72dbbe3a2c * Make gitorigin_branch and gitmaster_branch configurable via the setup
file. Closes: #408599
2007-01-27 23:56:17 +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 d69488a9df qouting 2007-01-14 04:51:35 +00:00
joey 49d63e7a55 fix format 2007-01-14 04:35:10 +00:00
joey c4b1712212 * Change the RecentChanges page to show the path of changed pages. 2007-01-14 04:30:53 +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 7ceb5b1f75 Improve error message when postsignin (probably from openid) fails due to
cookies not being enabled. Adds a new translatable string..
2007-01-12 20:56:54 +00:00
joey 8c8ce06a1b * Search in default location for templates as a fallback when templatedir is
pointed elsewhere, so that only modified templates need to be copied into
  a templatedir. Based on work by JeremyReed.
2007-01-12 20:48:19 +00:00
joey 605e91c595 remove \n from gettexed string, and unfuzzy 2007-01-11 23:31:29 +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 e5348d2d70 * Corrected a bum regexp in openid munging. 2007-01-03 05:33:50 +00:00
joey 39d78ce54c deal with http:// part 2006-12-31 22:28:08 +00:00
joey c494e2f974 * Escape shashes in page titles entered in the blog post form.
* Munge openids of the form somehost.com/user (trial, may revert)
2006-12-31 20:50:22 +00:00
joey f62d23f008 * If a userdir is configured, links to pages in it can be made without
specifying the path. This allows for easy signing of comments by linking
  to your page in the userdir.
2006-12-29 05:33:20 +00:00
joey 7819f34a50 * Add a textile format plugin contributed by mazirian. 2006-12-29 05:18:39 +00:00
joey b5e2afa943 * Allow disabling of plugins included in goodstuff. 2006-12-29 04:49:55 +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 8323bc5214 * Improve code that ignores files in the underlaydir if the srcdir has a
file building the same page. Now it will work even if the extensions of
  the source files differ.
2006-12-28 22:15:38 +00:00
joey 65ddd9ee21 update 2006-12-24 05:52:51 +00:00
joey 201d11da0a the problem with coding while drunk -- idiotic mistakes 2006-12-23 06:48:56 +00:00
joey 829e0b1b65 * Avoid creating edit links when not in cgi mode.
* Avoid displaying discussion links at all, if there's not a discussion
  page, when not in cgi mode.
2006-12-23 06:18:55 +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 0dc8b91226 * Patch from Emanuele Aina to fix modification time code in mercurual
backend.
2006-12-21 19:40:11 +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 389ad222ec * Add userdir config setting. 2006-12-19 16:58:55 +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 8af8d085d6 * The hack used to make the pagetemplate hook have access to the editpage
template won't work with CGI::FormBuilder 3.0401, so disable it for now.
* CGI::FormBuilder 3.0401 seems to work ok now with ikiwiki, although
  there might still be bugs lurking..
2006-12-02 00:19:55 +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 76dd3c46aa cosmetics patch from Recai 2006-11-26 20:07:00 +00:00
joey c8a59c1c10 * Git backend improvements, including bug fixes and better robustness. 2006-11-26 20:05:57 +00:00
joey b20d4f6681 * Mercurial backend improvements, including --get-ctime support. 2006-11-26 20:01:43 +00:00
joey 06137b95d4 mercurial username setting patch 2006-11-26 19:55:46 +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 d99ce1f9ad session improvements 2006-11-26 19:43:50 +00:00
joey 3a31030550 add quick mode for speeding up generation of big archive pages 2006-11-26 19:43:24 +00:00
joey f8cbf79735 foo 2006-11-26 19:42:40 +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 7a9fd7f2fa fix user determination for web commits 2006-11-22 04:06:56 +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 95e8127405 improve 2006-11-21 17:56:04 +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 77356e8513 better subjects 2006-11-21 04:21:03 +00:00
joey a8c5c8c0ba improve regexp 2006-11-21 03:52:20 +00:00
joey fc0b70e700 formatting 2006-11-21 01:40:47 +00:00
joey d4b4475521 improvement 2006-11-20 21:02:45 +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 d389b0e4a4 * Avoid locking the wiki at all when handling some basic cgi stuff
(searches, recentchanges).
2006-11-20 12:03:35 +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 7cfdb888e5 increase field widths 2006-11-20 09:59:27 +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 e7ee388ea1 minor improvements 2006-11-20 06:22:19 +00:00
joey 9f60b7f6cd explanation 2006-11-20 03:22:23 +00:00
joey 702b8721d3 * Add an openid plugin to support logging in using OpenID.
* Web commits by OpenID users will record the full OpenID url for the user,
  but in recentchanges, these urls will be converted to a simplified display
  form+link.
* Modified svn, git, tla backends to recognise such web commits.
2006-11-20 02:46:58 +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 60aca5e0fe fixes 2006-11-10 07:51:14 +00:00
joey 96eb9bb3fa * Work around a strange bug in CGI::FormBuilder 3.0401 that makes
FORM-SUBMIT unusable on customised formbuilder templates. For now,
  hardcode the submit buttons in editpage.tmpl instead of using the
  template variable, which is ok, since the buttons are static.
2006-11-10 07:46:41 +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 c3a530ab93 * Improve login/register process, the login dialog has only name and
password fields, which allows more web browsers to regognise it as a login
  field, and is less confusing.
2006-10-30 23:28:01 +00:00
joey 74b5fb09aa fix a bug 2006-10-28 22:24:18 +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 49bf877701 * Add a separate pass to find page links, and only render each page once,
instead of over and over. This is up to 8 times faster than before!
  (This could have introduced some subtle bugs, so it needs to be tested
  extensively.)
2006-10-28 03:27:10 +00:00
joey a1eaeffe5e delete session 2006-10-28 00:36:34 +00:00
joey b6509c74a9 * Add basic spam fighting tool for admins: An admin's prefs page now allows
editing a list of banned users who are not allowed to log in.
2006-10-28 00:35:33 +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 3ef0a67811 * Patch from Recai to limit recentchanges to displaying max 10 files for a
given changeset (to avoid large number of file changes excessively
  bloating the page).
2006-10-14 03:12:30 +00:00
joey f27a462b18 cosmetic changes from Recai 2006-10-14 03:10:33 +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 67b513e8c4 * Patch from Alec Berryman adding a http_auth config item that allows
using HTTP Authentication instead of ikiwiki's built in authentication.
  Useful for eg, large sites with their own previously existing user auth
  setup. Closes: #384534
2006-10-02 22:56:09 +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 c35444826c * Add --render mode, which can be used to preview an edit at the command
line by test rendering a single page.
2006-09-21 21:34:29 +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 8e0236b50b more updates from Clint 2006-09-17 17:30:18 +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 42973f687c typo fix and slight reformat 2006-09-16 04:16:17 +00:00
joey 22ddd81dd2 * Numerous tla fixes from Clint. 2006-09-16 04:09:06 +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 26774c931c * Patch from James Westby to deal with the case where you're editing a
new page, hit cancel, and need to be redirected to somewhere sane.
2006-09-16 01:23:14 +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 1e7be2d3dd * Patch from Recai to kill utf-8 on the wiki name when generating the
session cookie.
2006-09-11 16:24:05 +00:00
joey d0b025468a * Patch from Recai to use utf8 when reading the setup file, so that
utf8 wikinames from there will be used properly.
2006-09-10 18:16:43 +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 757b627414 * Add a missing -n to tla undo call. 2006-09-08 19:19:56 +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 f7f3b0bb7d * Add support for mercurial, contributed by Emanuele Aina. 2006-09-06 20:31:55 +00:00
joey f7d95297bb need to import escapeHTML 2006-09-06 20:03:59 +00:00
joey 1f26347379 escaping fix from Emanuele Aina 2006-09-06 20:02:12 +00:00
joey 5851f0f753 bugnum 2006-09-04 06:24:27 +00:00
joey 99d52a1794 * Add support for tla, contributed by Clint Adama. Closes: #385936 2006-09-04 06:15:54 +00:00
joey 44c8d86339 commas 2006-09-04 04:32:32 +00:00
joey b6075d6163 move html escaping 2006-09-04 04:29:18 +00:00
joey 7e02c4fe4c fix 2006-09-04 04:25:34 +00:00
joey c2a3e1b127 man page says I need this 2006-09-04 03:50:27 +00:00
joey ea95624e2d * Drop real uid/gid in the suid wrapper, thus allowing commits to remote
subversion repos and fixing some other issues.
2006-09-04 03:38:02 +00:00
joey 6933631501 minor 2006-09-03 23:07:07 +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 92065444d9 * Simplify the data structure returned by rcs_recentchanges to avoid
each rcs plugin needing to form complex strings on its own.
2006-09-03 19:53:23 +00:00
joey 22b414ddc0 add comments 2006-09-03 17:14:27 +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 575cfa085c drop the loop number to 3, 10 seems a bit much.. 2006-08-31 19:47:41 +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 4ad7c9d625 * Patch from James Westby to add a --sslcookie switch, which forces
cookies to only be sent over ssl connections to avoid interception.
* Factor out the cgi header printing code into a new function.
* Fix preferences page on anonok wikis; still need to sign in to get
  to the preferences page.
2006-08-27 20:25:05 +00:00
joey 3ad4d93e33 fix reference counting oops 2006-08-27 19:58:33 +00:00
joey d4d053f0e3 re-emit unprocessed preprocessor directives in full, in case they're really
wikilinks with spaces
2006-08-27 17:07:55 +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 f4e2e8e975 added info 2006-08-26 23:37:56 +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 609f48c93c switch to > n (currently 10) cycle loop protection since eg tumov's include
plugin preprocesses included pages using the name of the including page
2006-08-26 21:26:54 +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 182c3b0db3 use a hash 2006-08-25 22:08:03 +00:00
joey 6fc3b624f2 * Generalised preprocesser loop protection code. 2006-08-25 19:06:37 +00:00
joey 0bddcaed14 remove date munging, seems to be unnecessary 2006-08-24 20:03:58 +00:00
joey 46c33b3832 remove unused option 2006-08-23 20:49:54 +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 aa04f54ae9 * Patch from Jordà Polo to make Setup::Standard support hashes in config
files.
2006-08-23 18:41:32 +00:00
joey 7c66edacd8 update 2006-08-23 06:08:12 +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 78b279c3d8 * Allow preprocessor directives to span multiple lines, both to make
long ones with lots of values easier to write, and to allow for ones with
  multi-line quoted values.
2006-08-23 03:25:40 +00:00
joey 43f2ba5def revert broken parentlinks fix, which was broken, explain why
add plugins/contrib page to avoid broken link on this wiki
2006-08-22 17:54:10 +00:00
joey 467d5b5e2a * Fix a bug introduced last version to do with nested inlines. 2006-08-22 17:02:01 +00:00
joey d0295d9dc0 * Clean up behavior with broken parentlinks. 2006-08-21 22:45:17 +00:00
joey cf3021ef3f * Fixed a bug with previews of subpages having broken links to top-level
pages.
* Change how the stylesheet url is determined in the templates: Remove
  STYLEURL and add BASEURL to all templates (some already had it). This
  new more general variable can be used to link to other things (eg, images)
  from the template, as well as stylesheets.
2006-08-21 22:27:02 +00:00
joey 132e41500f * Fix utf-8 in blog post form. 2006-08-20 20:45:55 +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 be092a67c2 * Fix a bug in page type determination during online editing. 2006-08-13 05:56:01 +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 ecd74fbe5d avoid message if mailing password or registering 2006-07-30 23:08:10 +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 6a9e16374f * Locale patch from Faidon:
- Adds a locale setting to setup files.
  - Proper local time, if the locale configuration option is used.
  - Support for UTF-8 (or ISO-8859-X) filenames in SVN. Before this patch,
    commiting (or even rcs_updating) on repositories with UTF-8 filenames was
    impossible.
2006-07-29 21:04:31 +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 3a2dfb94cb * Build-depend on libtext-wikiformat-perl, so that the syntax check of
the wikiformat plugin works. Thanks, Emanuele Aina.
 * Patch from Alessandro Dotti Contra to clean up backlinks and navbar
   display, running them through pagetitle. This removes ugly underscores and
   other gunk from the display, much nicer. You may want to rebuild your wiki
   when upgrading to get the cleanup globally.
2006-07-29 19:16:55 +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 b187641376 * Patch from Recai to allow selection of page type when creating a new page.
Default page type is inherited from the link clicked on to create the new
  page.
2006-07-26 21:23:06 +00:00
joey 06ffcb399d <paravoid> you're right
<paravoid> I can't explain it
<paravoid> but it's definitely fixing it
<paravoid> I triple-checked...
2006-07-11 22:06:57 +00:00
joey a9508d6ba8 remove redundant call 2006-07-11 21:32:16 +00:00
joey ed8d6bcf23 * Consolidated all decode_utf8 in FormBuilder's fields to make the code more
readable and avoid future mistakes. The patch seems to work and for the
  first time I have a UTF-8 username ;-) (Faidon)
* Use form->field consistently, not form->param.
2006-07-11 21:20:14 +00:00
joey afedd60d79 * Match 'web commit from' in SVN and git, these are web commits too.
(Faidon)
2006-07-11 20:55:14 +00:00
joey f389b08a0c * Fix from Faidon for a XML parser issue that breaks utf-8 for
RecentChanges. Avoid using XML::SAX::PurePerl, which is buggy in this
  area, and also way slow.
2006-07-11 20:18:11 +00:00
joey 50c21744ca * Display CGI processing errors if present. 2006-07-10 21:13:41 +00:00
joey 1bdfa4d8b5 * Support a w3mmode, which lets w3m run ikiwiki using its local CGI
support, to edit pages etc without a web server.
2006-07-07 21:00:48 +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 89697f2c7a * Patch from Recai to fix utf8 issues in git backend. 2006-07-05 20:54:10 +00:00
joey 56378a14e2 Encode:: cleanup from Recai 2006-07-05 18:20:25 +00:00
joey 97e6f39dd0 * Patch from Faidon to use svn --limit when possible for recentchanges,
speeds up recentchanges a lot for wikis with more history.
2006-07-05 17:40:07 +00:00
joey 01fc6c0a4e * Improve display of parentlinks and page title of toplevel index page. 2006-07-04 20:04:33 +00:00
joey 87a1d3ff8f * Encode & in diffurl in examples, to conform to pedantic rules.
* Speed up RecentChanges by another 40% or so with some memoization.
2006-07-04 16:18:18 +00:00
joey e059c9eff9 * Make RecentChanges use a table and some CSS, should be much more readable.
No code changes involved.
* Encode & in diffurl in examples, to conform to pedantic rules.
2006-07-04 06:07:32 +00:00
joey d3f032c4d0 <paravoid> cosmetic and minor, but it makes the output far more readable,
imho
2006-07-04 04:43:33 +00:00
joey ebc6120f99 * Work around very innefficient behavior in File::Spec::abs2rel. Result
is a savings of 2 pointless fork/execs per link calculation, which
    results in ~25% speedup of ikiwiki building its own doc wiki, and
    about 35% speedup displaying RecentChanges!
2006-07-04 03:42:19 +00:00
joey f877845353 remove leading dot from default_pageext
fix preview to not assume it's the default page type, and instead get the
type from the page
2006-07-04 01:29:45 +00:00
joey 7b87549558 * Don't sent pings if the wiki is being rebuilt. 2006-07-04 01:02:04 +00:00
joey 349ff86006 * Make ikiwiki --setup --refresh rebuild wrappers, so wrapper rebuild
will be automatically done on all upgrades.
2006-07-04 00:28:59 +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 7ea8df24b3 * Introduce add_plugins and disable_plugins config options in setup files.
This allows adding or removing plugins w/o overriding the whole list of
  default plugins, which makes it easier to upgrade when new default plugins
  are added.
2006-07-03 21:29:56 +00:00
joey 929b9de9c2 Encode is used in nearly all code paths so stop loading it on demand 2006-07-03 20:18:16 +00:00
joey fa9517e5bb * Support pages with utf8 filenames. Patch by Faidon Liambotis. 2006-07-03 20:12:27 +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 0e1bfa69a0 new approach for forcing utf8 -- use a HTML::Template filter 2006-07-02 18:16:44 +00:00
joey b74ddf69ce perl bugnum and refix 2006-07-02 17:46:23 +00:00
joey 1452b3adf3 so make sure to let perl know it should be handled as utf8. Also,
* Improve layout of edit page so formatting help link is always visible w/o
  getting in the way of the preview.
2006-07-02 17:44:43 +00:00
joey ac7b1c32b1 * POSIX::strftime doesn't know about encodings and doesn't return a utf8
flagged string even if the locale causes it to generate utf8 output,
  so make sure to let perl know it should be handled as utf8. Also, 
  the optimised version used for standard time formats won't work if the
  user has changed locale, so drop it. Thanks, Faidon Liambotis.
* Fix re-encoding of the comments field to utf8 if a commit fails
  due to a conflict. Thanks, Faidon Liambotis.
* Let svn know that commits have utf8 commit messages. Thanks, Faidon
  Liambotis.
* Add insane double encode/decode to utf8 around call to markdown.
  This works around a truely strange bug, which is apparently a bug in
  perl, which I lack space to describe here (see t/crazy-badass-perl-bug.t)
2006-07-02 04:02:08 +00:00
joey 0bb605baf8 * Parse svn log as xml for improved utf8 and security. Note that this makes
ikiwiki depend on XML::Simple. Patch by Faidon Liambotis.
2006-07-02 02:18:31 +00:00
joey 25b35c3c74 * Honor LC_CTIME when formatting a time for display. Thanks, Faidon
Liambotis.
2006-07-02 00:32:12 +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 77c7582f72 * Patch from Recai to fix git recentchanges code to work with git 1.4 which
changed some output.
* Copyright update.
2006-06-19 03:33:23 +00:00
joey 4d460d1f82 - Add 'use encoding "utf8"' to CGI.pm to avoid warnings about wide
character in print.
2006-06-17 02:15:00 +00:00
joey f5eb3df1fa * More utf-8 fixes from Recai, partly to things I broke above:
- The serious problem is that writefile() saves the content in undecoded
    format in CGI, hence all (non-ascii) chars are corrupted permanently.
  - Comment field in edit page is not decoded and all the non-ascii chars in
    this field are corrupted as the result.  We should decode it as we do it
    for the content.
2006-06-17 01:44:19 +00:00
joey 0cd2cfb039 * Put back the encode_utf8 in the input to markdown; it's really not utf-8
safe.
2006-06-16 04:42:06 +00:00
joey 202c4d522f * -CSD does not affect modules, so readfile() was not using the utf-8 input
layer, which led to lots of problems; make it force read files as utf-8.
  Closes: #373203
* writefile() likewise needs to use the utf8 output layer.
* Remove the -CSD from ikiwiki's hashbang since it's useless to have it
  there.
* Revert some of the decode_utf8 changes in CGI.pm that seem unnecessary
  given the readfile fix.
* Add utf-8 testcases for readfile and htmlize.
2006-06-15 06:37:33 +00:00
joey 070f255d6c * YA utf-8 patch from Recai, this time to fix previewing a page so that
the text in the input box is re-encoded back to utf-8.
2006-06-15 03:44:27 +00:00
joey 2ce6d15b8b * Patch from Recai Oktaş to improve utf-8 support, it should now use proper
utf-8 for edit and other fields, and for recentchanges. There may still
  be utf-8 issues with the preferences page though.
2006-06-11 18:51:49 +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 57d10171e3 another from Recai 2006-06-04 13:14:13 +00:00
joey 00d761ab53 misc fixes from Recai 2006-06-03 18:03:41 +00:00
joey 5454186939 meta headers are not sanitised; prevent html leaking into them 2006-06-02 06:11:22 +00:00
joey 30afedcfe2 * Add support for using git instead of subversion as the RCS backend,
tremendous thanks to Recai Oktaş for this.
* Doc updates for git.
2006-06-02 05:32:20 +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 140658bc51 * More security review. 2006-06-01 20:44: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 c20c406631 * Add -refresh option to ikiwiki-mass-rebuild and use that on upgrades that
do not need a full rebuild, in order to update any basewiki pages.
2006-05-27 19:04:46 +00:00
joey 0cc3b43530 missed a couple htmllinks 2006-05-27 18:42:12 +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 29507e94a4 utf-8 support seems to be working now 2006-05-26 15:33:14 +00:00
joey 361ec86696 * --getctime had bitrotted (well I only ever used it the once so far..),
fix and make it a bit more flexible
 * rcs_getctime is changed, now rather than needing to loop over all pages,
   it should just use the rcs to get the ctime of the passed file.
2006-05-26 15:22:43 +00:00
joey 526044e1da better fix for empty actions list issue 2006-05-26 15:18:12 +00:00
joey 2e95062df8 fix call to getctime 2006-05-26 14:54:47 +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 ccbf965e6b fix a bug that doubled the search box 2006-05-04 04:45:30 +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 12422e9890 * Patch from Thomas Schwinge to switch from --svn to --rcs=svn, etc,
to pave the way for adding other RCS support. This also changes the
  setup files, where before they had svn => 1 or svn => 0, now they have
  rcs => "svn" or rcs => "".
* Add a debian/NEWS file with upgrade notes.
* Load whatever rcs module is specified, so new ones can be just dropped in
  as plugins and work.
* Add some basic docs about writing RCS modules.
2006-05-02 18:44:39 +00:00
joey 47cec07e44 ah, the joys of test-based development..
think I have smart glob list matching working ok
2006-05-02 15:22:49 +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 f84b47d080 fix undef warning 2006-05-02 04:37:31 +00:00
joey fe6b271501 deep copy/untaint arrays in setup 2006-05-02 04:18:44 +00:00
joey e7f97eae60 * Smarter behavior when creating a page and a page of the same name (but
different location) already exists.
2006-05-02 02:57:45 +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 457d6bbbbf change calling convention for preprocessor functions 2006-05-01 23:18:09 +00:00
joey 819a31ed24 * Rename inlinepage to depends, so that it can be used to refer to more
dependency relationships than just inlining. This will require a rebuild
  on upgrade to this version.
* Move the rss link, put it in the blogpost form if there is one and at the
  top if not. This is both nicer because easier to find, and it cleans up
  the code which had used inlinepage as a flag for adding the link later.
* Allow the depends GlobList to be built up from multiple sources (such as
  plugins) during a page render.
* Which means that more than one blog is now supported to appear on a
  single page. (With some limitations.)
2006-05-01 22:27:37 +00:00
joey 188d7c1961 two notify bug fixes:
- run it after refreshing so that all the page info is current
- convert filenames into page names before checking against glob
2006-04-28 05:16:24 +00:00
joey 5cd32c2eee - fix typo
- avoid sending commit mails to the user who made the commit
2006-04-25 20:24:44 +00:00
joey bfa96ad282 prevent users from registering with name that is not a valid wikifile
avoids XSS attacks and is generally a good limitation
2006-04-25 05:53:22 +00:00
joey d7aecf6ddc implemented html sanitisation 2006-04-25 03:18:21 +00:00
joey 1f06b39788 fix a deadloop if from ended in a / 2006-04-25 01:15:20 +00:00
joey 1ba7023746 more 2006-04-25 00:45:10 +00:00
joey 1f66fb8a28 formatting 2006-04-25 00:29:06 +00:00
joey b7f64d884c subscription nearly done 2006-04-25 00:22:41 +00:00
joey 13e3bf8671 commit changes for email subscriptions 2006-04-24 23:09:26 +00:00
joey 170a6de6ab fix comment 2006-04-21 16:39:59 +00:00
joey 958468b088 fix broken example config file and detect this breakage 2006-04-20 13:34:11 +00:00
joey 3ff14ce12a fix --anonok 2006-04-14 18:10:18 +00:00
joey 7a5ae22e5a Convert postprocessordirectives into preprocessordirectives, so they are
expanded before markdown. Consequences:

 - No need to worry about markdown messing with parameters of
   preprocessordirectives. (If you had to escape stuff in one before, you'll
   need to undo that escaping now.)
 - No need for ugly </p> hacks before inlined subpages. Instead, subpages
   are wrapped in a <div>, and this prevents markdown from touching them.
   (This can also be used to add style to subpages.)
 - rss generation is less of a hack.
2006-04-04 20:57:46 +00:00
joey f50bd57bce proper binmode settings so that with -CSD, ikiwiki will support unicode
however, due to robustness, that's not enabled by default yet
2006-04-04 19:34:50 +00:00
joey 46302e698d Verified that the action parameter on cgi forms is needed for at least the
prefs form. Use $config{cgiurl}.
2006-04-04 18:43:26 +00:00
joey 5cdcec9f49 comment out action => $q->request_uri setting, which is reporedly
unnecessary and doesn't work with old CGI.pm's (it's an undocumented
variable)
2006-04-02 22:28:08 +00:00
joey c4e0e8c36c - add <base> to cgi output, this is especially useful for output containing
wikilinks since the urls should work now in more situations
- drop --limit from svn log run, since a) it needs a fairly new svn and 
  b) in some cases, it would limit it to too few entries to display the
  requested number of changes
- Use driver:DB_File and not driver:db_file for better compatability with
  old versions of CGI::Session.
- Note that HTML::Template 3.02.02 is needed.
2006-04-02 22:24:08 +00:00
joey 9922c37d73 improved logic 2006-03-30 00:17:28 +00:00
joey 5f1e794045 fixes 2006-03-29 22:36:23 +00:00
joey 0d9539d577 added --hyperestraier switch, which turns on search support
(ok, the way I run estseek.cgi is admittedly pretty nasty, but it works..)
2006-03-29 22:21:23 +00:00
joey efe91335c6 improve fix for symlink attacks to check subdirectories for symlinks too
before writing
2006-03-29 18:50:36 +00:00
joey 2a16e15122 fix for replacing from underlay 2006-03-29 18:35:04 +00:00
joey 975ae0944c Implemented --underlaydir, and moved files provided by underlay out of doc
so I don't need to maintain two copies anymore.

You might also want to remove the files provided in the basewiki underlay
from your wiki, if you have not created custom local versions of them, so
that these pages will be automatically updated in future ikiwiki upgrades.
2006-03-29 18:21:01 +00:00
joey 5591d621b9 css support 2006-03-29 07:24:03 +00:00
joey e41dd1e24e html validation fixes:
- escape & in urls (also clean up cgi url generation)
 - since markdown wraps inlined pages in <p></p>, close and re-open
   the paragraph tags when generating the embedded html
 - added XHTML 1.0 doctypes to templates
 - fixed <hr /> and <br /> in templates
 - add an alt attribute to inline images, based on the WikiLink to the
   image. Allows things like [[my_image|img.png]] to customise alt text.
2006-03-29 03:18:21 +00:00
joey 0a95ac2144 Improved handling of wikilinks containing characters that are not allowed
in filenames. Now converts to valid filenames automatically.

Note, need to --refresh your wiki after updating to this version, if you
use any pages with __nn__ in their names.
2006-03-29 02:14:55 +00:00
joey b5656f595d Change the name of the session cookie. This will avoid problems with
multiple wikis on the same host.
2006-03-29 00:21:57 +00:00
joey d9f1b12149 support [[linktext|pagename]] links 2006-03-28 23:31:53 +00:00
joey d73574e19f There was a bug that [[inline archive="yes]] created an RSS link, but no feed.
Fixed in the easiest way by creating an RSS feed for archive pages (it will
include only a limited number of items, not everything).

Alternative fix would be to track separately which pages are archives and
which not, and only create feeds for non-archives.
2006-03-28 23:06:28 +00:00
joey bce9a327c3 Put in a quick fix for a bug involving page preview while creating a page
that caused the page location to be changed to a subdir. This is not a very
good fix.
2006-03-28 22:56:56 +00:00
joey ffc0be87d7 add --refresh and make it with with --setup 2006-03-26 05:08:41 +00:00
joey da1f96550e don't keep the wiki locked while rendering recentchanges 2006-03-26 04:32:41 +00:00
joey 7b8a14b751 fix rss url in nested pages 2006-03-26 03:33:49 +00:00
joey bb8096264e don't escape "/" in title when making a blog entry, allow creating a subdir 2006-03-26 02:49:34 +00:00
joey 9092356173 added --getctime 2006-03-26 02:30:44 +00:00
joey 61c909e2f2 implemented upgradehooksh 2006-03-24 21:36:37 +00:00
joey efb605ded6 finish up the blog form 2006-03-24 05:33:23 +00:00
joey 49524c429e add blog post template 2006-03-24 05:03:16 +00:00
joey 693a7a6902 big speedup 2006-03-24 03:21:46 +00:00
joey e910e67424 fixes 2006-03-24 02:42:19 +00:00
joey b056a106b8 load index before refresh 2006-03-24 02:11:10 +00:00
joey 8926a3bfbe Removed the rss feeds for every page, which wasn't really entirely useful.
Let's only do them for blog pages.
2006-03-24 02:00:40 +00:00
joey 5951c1dc82 add archive pages and fix some bugs 2006-03-24 01:49:42 +00:00
joey 7b4600df3f hold onto your hats, full-fledged blogging has arrived in ikiwiki! 2006-03-24 01:16:32 +00:00
joey ad4760ad78 load index for all cgi scripts, fixes links on RecentChanges 2006-03-23 22:11:05 +00:00
joey 4f93b8e2b4 preserve ctimes across rebuilds 2006-03-23 21:54:30 +00:00
joey 72e8ace28d Add file cretion times to the index file.
(Note that it's not really the file creation time, just the first time
ikiwiki saw it.)
2006-03-23 21:52:12 +00:00
joey 4155fd3c96 fix for already relative urls 2006-03-23 21:21:31 +00:00
joey 801a6d61b9 improve description field for rss 2006-03-23 21:17:57 +00:00
joey ca366fc902 add support for generating per-page rss feeds 2006-03-23 21:00:51 +00:00
joey a223f4540f support arbitrary characters in page titles, via some ugly use of unicode
character numbers
2006-03-23 19:25:08 +00:00
joey f5a5df14b7 stupid MakeMaker.. 2006-03-23 19:23:48 +00:00
joey 0943c375d4 another sub, wow 2006-03-23 08:04:34 +00:00
joey 5513fb4654 lock wiki here too 2006-03-23 07:58:43 +00:00
joey e3b9e716d0 missing include 2006-03-23 07:55:25 +00:00
joey 384327bfd0 proper main sub and loadindex optimisation for cgis 2006-03-23 07:51:52 +00:00
joey bb0193aff3 benchmarking suggests that meoization doesn't help even when doing a
--rebuild, so remove it
2006-03-23 07:42:24 +00:00
joey b645dc5a41 Getopt::Long is a huge, heavy perl module. So why use it?
This {gross,amazing} hack makes all wrapped uses of ikiwiki forgo any
option parsing at all. Options come in preparses via an env var from the
wrapper. As a bonus, Wrapper.pm no longer needs to be updated when command
line options are added to the program. Load time is sped up by around 10%.

ikiwikiwrap --params is no longer supported by this change. You will need
to rebuild your wrappers to take advantage of it.
2006-03-23 07:37:16 +00:00
joey 6c8cf5dd57 Major code reoganisation, splitting up the single big file. The two goals
kept in mind during this are a) to reduce load time for common cases like
cgi and post-commit and b) make the code easier to navigate.

This also modularises RCS support to the extent that it should be possible
to drop in a module for some RCS other than svn, add a switch for it, and
it pretty much just work.

High chance I missed an edge case that breaks something, this is only
barely tested at this point.
2006-03-23 06:51:15 +00:00
joey 2eb5893ce7 fix config restoration after wrapper gen 2006-03-23 04:07:58 +00:00
joey 8978c1d959 fix oops in %config handling 2006-03-23 04:02:19 +00:00
joey e4d9da55d9 At Branden's request, clean up the hardcoded ".ikiwiki" everywhere, and add
checkoptions() that can be used to set defaults for this and other options
based on existing options.

Also involved some cleanups to how gen_wrapper is used.
2006-03-23 04:01:02 +00:00
joey befdf00f8a fixes 2006-03-15 04:59:39 +00:00
joey 0a52e8fd82 config files now based on perl modules
add MakeMaker foo for module
2006-03-15 03:24:34 +00:00