Commit Graph

237 Commits (56e81e80009bf4f73d20810aa3a73d16e2115648)

Author SHA1 Message Date
Joey Hess dd0b844477 further improve the .. regexp 2007-12-17 13:53:51 -05:00
Joey Hess 90bce7d139 * Don't refuse to render files with ".." in their name. (Anchor the regexp.) 2007-12-17 13:37:19 -05:00
Joey Hess 214bc2b65b * Allow dashes in preprocessor directive commands, and shortcuts. 2007-12-12 16:13:15 -05:00
Joey Hess 58049e97c1 * Fix file pruning code to work if ikiwiki is run with "." as the srcdir. 2007-12-10 15:12:56 -05:00
Joey Hess ff97b0358b bug fix 2007-12-08 18:25:22 -05:00
Joey Hess 055179cb4c * Finally implemented a simple per-page data storage mechanism for plugins,
via the %pagestate hash.
* Use pagestate in meta to detect potential redir loops.
2007-12-08 17:40:50 -05:00
Joey Hess 91fe16f35c * Add umask configuration option. Closes: #443329 2007-11-27 16:46:02 -05:00
Joey Hess d00e8d78c8 * Don't consider links to anchors on the same page to be self links.
Patch by Daniel Burrows. Closes: #451729
* When usedirs is disabled, link direct to index.html files, not to
  directories, to improve browsing of file:// urls.
  Patch by Daniel Burrows. Closes: #451728
2007-11-17 19:58:17 -05:00
Joey Hess 3e17b7d612 need to remove trailing slashes in not one, but 2 places
htmllink needs to do it because it uses the basename of the link as the link
text

bestlink needs to do it because it is not always called from htmllink
2007-11-17 16:32:02 -05:00
Joey Hess 80d16f80bf * Allow trailing slashes after page names in wikilinks. 2007-11-17 16:26:34 -05:00
Joey Hess 264a82a435 * inline: Add timeformat parameter to control how the ctime of
inlined pages is displayed. Closes: #451019
2007-11-13 16:14:48 -05:00
joey 2d9ee11006 * Add a "createlink" class attribute to the span for wikilinks pointing
to not-yet-existing pages. I don't have a useful style defined for that
  though.
2007-10-13 23:08:38 +00:00
joey 3945473f8a clear hashes in loadindex, so that it can safely be called more than once
even if pages have been deleted in between
2007-10-10 18:46:25 +00:00
joey b86f9b8409 * Don't allow whitespace in link text in a wikilink. This was still
allowed by the regexp in one case though not documented to work, and
  was ambiguous with preprocessor directives.
2007-09-24 16:50:49 +00:00
joey 4ccb9be7c6 improve diagnostics 2007-09-22 18:10:40 +00:00
joey 7bde880fa8 * map: Render pages on the way to subpages whose parent pages
are not included in the map. Include special styling for such pages.
* map: Remove common prefixes and don't over-indent.
* Add class option to htmllink().
2007-09-22 16:32:24 +00:00
joey 8489e68916 * table: Text::CSV doesn't return decoded unicode (XS module); decode its
return values.
2007-09-05 17:22:26 +00:00
joey 99261148fe fix 2007-08-28 23:11:40 +00:00
joey 25294defb8 Don't allow newlines in link text in a wikilink. 2007-08-28 22:54:54 +00:00
joey 9c5f4761d8 * Support for looking in multiple directories for underlay files.
* Plugins can add new directories to the search path with the add_underlay
  function.
* Split out smiley underlay files into a separate underlay, so if the plugin
  isn't used, the wiki isn't bloated with all those files.
2007-08-28 01:59:01 +00:00
joey ab8125d62a * Fix a bug in unlockwiki intorduced last version that made it crash ikiwiki
if it wasn't locked when called. This is known to break post-commit
  emails.
2007-08-26 17:38:17 +00:00
joey 7946c67d1f * Avoid ugly gettext messages if LANG is empty. Closes: #439035 2007-08-21 21:19:53 +00:00
joey 7dd6385fdb fix undef issue 2007-08-21 19:51:05 +00:00
joey 9ff9ea55f7 fix libdir tainting 2007-08-21 16:47:01 +00:00
joey 50e1b43408 * Add monotone support, contributed by William Uther. 2007-08-21 03:10:35 +00:00
joey c5ad5c8276 * Various minor fixes and stylistic improvements suggested by Perl::Critic. 2007-08-15 08:08:32 +00:00
joey 69065b8e79 * Fix bug in deletion/move during edit code introduced in 1.44. Need to take
the underlaydir into account.
2007-08-14 19:44:59 +00:00
joey 922e6ec144 the perl critic reminded me that the library shouldn't be using IN and OUT
global file handles
2007-08-14 05:47:29 +00:00
joey b4dafe467b * Change yet again how unhandled and escaped preprocessor directives are
re-output onto the page. Hopefully I finally got it right..
2007-08-13 17:35:14 +00:00
joey 506bcbac04 * Fix --libdir to work at the command line.
* Plugins can now be written as standalone external programs, which can
  be written in any language that can do XML::RPC.
2007-08-13 03:07:31 +00:00
joey 7922a663c0 * Support pagespec "functions" with no parameters, like included() in the
conditional plugin.
2007-08-11 23:31:57 +00:00
joey 09b0a3b73f * Add rel=tag attribute to tag links, supporting that microformat, as well
as allowing them to be styled specially. Thanks, NicolasLimare.
2007-08-05 20:48:13 +00:00
joey 1e5cd11635 * Add a libdir config option to let ikiwiki load perl modules, including
plugins, from a user-configurable directory.
2007-07-27 00:48:06 +00:00
joey 1612dce6bb * Add a htmlext config option, this can be used to make ikiwiki generate
html files with a different extension.
2007-07-25 01:16:53 +00:00
joey 4936b3db88 * Correct some issues with escaped preprocessor directives. 2007-07-20 17:55:19 +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 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 66cb6baf4e * Apply a patch from Carl Worth adding support for using globs in link()
in a PageSpec.
2007-05-30 19:54:08 +00:00
joey b4eaef94bd * Correct some issues with display of unhandled preprocessor directives. 2007-05-29 01:56:52 +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 ee843c7523 improve messages 2007-05-21 03:00:45 +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
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 1e62e4f87f * Enable openid logins by default.
* Enable usedirs by default.
2007-04-29 22:54:14 +00:00
joey 89260fb39a folding 2007-04-27 18:55:20 +00:00
joey 1eee32c5b5 * Make pagespec_match return an object that can be stringified to tell
* Include wikiname in syslogged messages.
2007-04-27 17:48:11 +00:00
joey ed54f94ee7 minor improvements 2007-04-27 17:01:52 +00:00
joshtriplett bf006f771b * Fix bestlink to use pagecase for pages in userdir, to support pages
with non-lowercase filenames.
2007-04-27 09:11:14 +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 fedaead1d0 * Add .dpkg-tmp to prune regexp, so that if ikiwiki is run right as it's
being upgraded by dpkg it will ignore dpkg temp files in the basewiki.
2007-04-15 18:10:39 +00:00
joey 40af2fc96c expost %destsources 2007-04-14 20:41:25 +00:00
joey fb802f8d2d * Apply patch from Ethan to improve an error message that should never
happen.
2007-04-14 20:07:03 +00:00
joey dd03d57678 * Internal version number and installdir substitutions were lost, fix. 2007-04-13 18:41:06 +00:00
joey 13c7a51f1f * Optimise displaytime, trimming maybe 6% off the build time. 2007-04-10 01:49:16 +00:00
joey 06b955b84a * Add a new %destsources hash, which maps between a destination file and
the source page used to create it, ie it's the reverse of %renderedfiles.
* Use %destsources in htmllink and urlto for 20-50% speedup.
2007-04-10 01:18:03 +00:00
joey 98994a4719 use err facility when logging errors to syslog 2007-04-09 23:09:43 +00:00
joey e589e24fad oops 2007-04-06 23:30:22 +00:00
joey 4de163b997 * Fix display of escaped wikilinks containing anchors. 2007-04-06 21:20:14 +00:00
joey 83618add81 * Fix a bug that caused link(foo) to succeed if page foo did not exist. 2007-04-04 20:57:13 +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 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 e5ddd9b581 * Fix a bug with inlined create page links, including Discussion links on
blog post pages. The links will now create pages relative to the page that
  actually contains the link.
2007-03-11 04:59:03 +00:00
joey 1465676082 need to use uri_escape_utf8 2007-03-08 06:25:20 +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 16ab4ba2df remove debugging 2007-03-07 09:49:38 +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 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 7562417578 fix precidence problem, thanks bod 2007-03-03 00:46:21 +00:00
joey 3660b1c7a1 * Allow for underscores to appear in page titles, if encoded appropriately
(__95__) in filenames. Previously, all underscores were replaced with
  spaces. Thanks, Enrico Zini for noticing that bug.
2007-03-02 00:37:22 +00:00
joey 67bc7ca8a1 doh! 2007-02-21 09:12:20 +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 135e5fc63a * perl is broken: print "" || die fails! Work around this insanity. 2007-02-20 22:19:28 +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 1081aa1ee5 fix a bug 2007-02-20 01:49:52 +00:00
joey ecf37caff9 * Avoid potential syslog format string issue, although only older versions
of perl are vulnerable and it is not known to really be exploitable from
  ikiwiki.
2007-02-17 21:34:42 +00:00
joey cf2aabd6c8 foo 2007-02-15 05:39:49 +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 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 d472e293cd fixes and more tests 2007-02-07 00:45:00 +00:00
joey 28e3bd2db2 edito 2007-02-07 00:27:10 +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 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 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 ab71299293 * More gettext fun. 2007-01-28 02:24:43 +00:00
joey 350a063896 reorg 2007-01-28 00:35:32 +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 04cde27a0e * Gettext 1.04 or up is needed for the OO interface that ikiwiki needs,
if an older version is installed, just don't gettext strings, instead of
  crashing.
2007-01-16 03:37:39 +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 92e26031ee * Fix encoding issue with use of Locale::Gettext. Seems that the OO
interface returns proper utf-8 decoded strings, unlike the traditional
  interface, so use the OO interface.
2007-01-11 23:29:22 +00:00
joey b31dc8d994 * Fix --locale to control LC_ALL now. 2007-01-10 20:25:00 +00:00
joey 8daaa11baa added some comments for translators 2007-01-04 12:00:23 +00:00
joey 137a87afd5 userdir fixes 2006-12-29 05:58:33 +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