Commit Graph

324 Commits (545bf43670d4c31a260c82c4d99aa878679a8340)

Author SHA1 Message Date
Joey Hess 9ec9d6901d Export pagetitle, titlepage, linkpage. 2008-09-27 14:27:42 -04:00
Joey Hess dfe55e8956 Add keepextension parameter to htmlize hook. (Willu) 2008-09-23 13:39:21 -04:00
Joey Hess a7ff240afc test for brokenlinks when listdirectives is enabled, too 2008-09-11 19:06:44 -04:00
Joey Hess 2d43eda27d display broken links on failure 2008-09-11 18:56:28 -04:00
Joey Hess 210b9ba2f3 test skeleton.pm.example 2008-08-03 19:36:10 -04:00
Joey Hess 2faf1ec601 update rcs tests for new rcs plugin load method
As a side effect, since loadplugins is called, mdwn is loaded, so
rcs_recentchanges will return page names, not filenames, for mdwn files.
2008-08-01 16:45:05 -04:00
Joey Hess 6154dd03cb finish with rcs plugin conversion 2008-07-26 22:28:18 -04:00
Joey Hess 14cd75746a Version control backends promoted to first-class plugins 2008-07-26 22:27:24 -04:00
Joey Hess bb888daea0 add a test case 2008-07-26 22:10:09 -04:00
Joey Hess fdf3b7c4b8 add test data 2008-07-25 19:41:01 -04:00
Joey Hess 88e9ef449d add a regression test to ensure that permalinks never change 2008-07-25 19:40:28 -04:00
Joey Hess a69e3f26dd 2 was apparently correct
I don't think it really matters whether directories are returned or not.
2008-07-25 15:16:49 -04:00
Joey Hess ef1f4defed bring git test to parity with bazaar test
Also, fixed bug I introduced in bazaar test.
2008-07-25 15:08:17 -04:00
Joey Hess acf94414e3 expose a bug in bzr renameing code 2008-07-25 12:16:09 -04:00
Joey Hess 256a118e88 add missing --quiet 2008-07-25 12:07:48 -04:00
Joey Hess c401cf4f0c Merge commit 'jelmer/master' 2008-07-25 12:03:34 -04:00
Jelmer Vernooij 7538d356c8 Support staging commands in bzr backend. 2008-07-24 22:43:57 +02:00
Joey Hess c2f621cb1c fix encoding issues with link conversion
Have to convert link text to page name going in.
And on the way out, need to replace spaces with underscores in the link
text, which is not normally done with titles.
2008-07-24 12:36:10 -04:00
Joey Hess 8b3d2ab0bc test suite and partial fix for encoding issues in link renaming 2008-07-23 21:04:11 -04:00
Joey Hess 4918c164e8 preserve case of subpage 2008-07-23 19:03:37 -04:00
Joey Hess 8b063a24d9 case preservation 2008-07-23 18:57:27 -04:00
Joey Hess 4691a2ad39 add renamepage hooks
Implemented for regular wikilinks, with a test suite.
2008-07-23 18:14:20 -04:00
Joey Hess 2c05a34be1 Merge commit 'intrigeri/pedigree' 2008-07-16 17:31:15 -04:00
intrigeri 35668b87d3 pedigree rename to parentlinks: rename/adapt everything
* Renamed to parentlinks every single variable or function called
  pedigree
* Removed the parentlinks function from Render.pm
* Enabled the new parentlinks plugin by default
* Adapted testsuite and documentation to reflate the above facts

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-07-15 16:25:39 +02:00
intrigeri 486f460132 pedigree rename to parentlinks: renamed files, to start with
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-07-15 16:09:40 +02:00
intrigeri 55000fd779 pedigree: rewrote with different design
(and updated testsuite + docs accordingly)

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-07-15 13:06:52 +02:00
Joey Hess d7da4a8e16 todo is not built, so don't try to check it 2008-07-14 21:20:48 -04:00
intrigeri 9b8ba60dac added testsuite for the pedigree plugin
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-07-14 23:03:27 +02:00
Simon McVittie 60dc17c39c Hopefully fix regression tests in non-English environments 2008-07-12 23:00:57 +01:00
Joey Hess 1dddec0ba9 Pass a destpage parameter to the sanitize hook.
Because the search plugin needed it, also because it's one of the few
plugins that didn't already have it.

I also considered adding it to htmlize, but I really cannot imagine caring
what the destpage is when htmlizing. (I'll probably be poven wrong later.)
2008-06-04 01:24:23 -04:00
Joey Hess a436a064d2 fix test to support rel= 2008-05-30 17:12:32 -04:00
Joey Hess 71555b5951 fix regression test 2008-05-25 14:12:49 -04:00
Joey Hess a09bd3b00f skip amazon_s3 since it uses a perl module not in build deps 2008-05-09 13:10:08 -04:00
Joey Hess 7d7f85bbb5 Correct a bug in pagespec matching, where a empty pagespec matched all pages.
This manifested as wikis with no locked pages treating them all as locked.
The bug was introduced in version 2.41.

Medium urgency upload due to above fix.
2008-04-24 13:49:15 -04:00
Joey Hess f1228946bd Bring back the svnrepo setup file option. This is needed for recentchangediff to work with svn repos. 2008-04-17 14:37:55 -04:00
Joey Hess 20271cf172 add loadindex/saveindex test suite 2008-03-22 13:56:44 -04:00
Joey Hess fa101abf08 misc improvements 2008-02-24 15:58:11 -05:00
Joey Hess 023e3c47a4 fix test to intialise plugins 2008-02-24 14:54:01 -05:00
Joey Hess dfd6bb3854 fix data:image handling 2008-02-10 15:24:03 -05:00
Joey Hess d7e0c035e5 * htmlscrubber security fix: Block javascript in uris.
* Add htmlscrubber test suite.
2008-02-10 13:16:40 -05:00
Joey Hess 5e47db9356 improved sanitiser test suite 2008-02-10 12:21:20 -05:00
Joey Hess 17246f6b45 add some more tests 2008-02-10 03:42:54 -05:00
Joey Hess e9a215982b new test case 2008-02-10 03:38:30 -05:00
Joey Hess f92505d78b Merge branch 'master' into prefix-directives 2008-02-05 15:59:42 -05:00
Jelmer Vernooij 246e93a300 Expand file-id in diffurl in the bzr backend. 2008-01-30 02:29:28 +01:00
Joey Hess cddc335b2b Merge git://git.samba.org/jelmer/ikiwiki 2008-01-29 19:28:51 -05:00
Joey Hess 3803266b8f merged the recentchanges branch
misc fixes
2008-01-29 17:50:11 -05:00
Joey Hess 8b31c53366 added configuration for recentchanges
I kept it to a simple global configuration, rather than using the
preprocessor directive for recentchanges, because that had chicken and egg
problems and seemed overcomplicated. This should work reasonably well,
though it would be good to add some more metadata so that more customised
recentchanges pages can be made.
2008-01-29 15:51:32 -05:00
Joey Hess d7fdd04b5a * Removed support for sending commit notification mails. Along with it went
the svnrepo and notify settings, though both will be ignored if left in
  setup files.
2008-01-29 00:36:58 -05:00
Joey Hess 652781c50f update test suite to fully test both with and without prefix_directives 2008-01-28 16:22:07 -05:00
Jelmer Vernooij d3f91f37ff Finish bazaar backend and make the remaining test pass. 2008-01-28 07:30:37 +01:00
Jelmer Vernooij 0be7aad67d Initial work adding support for Bazaar. 2008-01-28 06:16:56 +01:00
Josh Triplett 1b03a06c8c Add new preprocessor directive syntax¸ using a '!' prefix.
Add a prefix_directives option to the setup file to turn this syntax
on; currently defaults to false, for backward compatibility.  Support
optional '!' prefix even with prefix_directives off, and use that in
the underlay to support either setting of prefix_directives.  Add NEWS
entry with migration information.
2008-01-27 16:14:38 -08:00
Joey Hess 633f8d4dd3 shut up git commands run manually 2007-12-27 19:38:55 -05:00
Joey Hess 10e26c0370 file_pruned regression tests 2007-12-18 00:38:06 -05:00
joey 7e144b8f4a arg, the test suite was testing for bugs 2007-09-30 19:15:17 +00:00
joey 2de411ac86 * Exclude external plugin from syntax check since it uses a module that is
not in the build depends. Closes: #441171
2007-09-07 17:06:42 +00:00
joey 8fd13334af fix path issue when runnign test 2007-09-05 23:51:08 +00:00
joey 6b5ab21959 * Change git test suite to reflect change in log for initial repo creation
commit.
2007-09-05 23:45:39 +00:00
joey 67c6ff9b08 * mercurial: Fix rcs_getctime (thanks, bma) 2007-08-29 02:16:45 +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 7c032d1465 test suite fixes 2007-08-21 19:58:14 +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 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 7e3cfbb8a4 couple more 2007-06-02 05:08:33 +00:00
joey bf228acd0a * Add test suite for preprocessor directive parsing. 2007-06-02 05:05:22 +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 ffc06c8e4d * Fix FTBFS in test suite introduced in last version. Closes: #425891 2007-05-24 20:21:45 +00:00
joey 05fbbad4b4 build fixes 2007-05-20 01:04:24 +00:00
joey d3d528b5c4 * Add a test ensuring that the basewiki is self-contained and has no broken
links.
2007-05-20 01:00:21 +00:00
joey e7d4a00bf0 fix 2007-04-29 22:58:27 +00:00
joey 0d01b4f426 updates for usedirs 2007-04-29 22:57:21 +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 250bd850e2 support %destsources 2007-04-14 20:41:43 +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 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 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 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 897ec7cb79 add test 2007-02-20 01:51:23 +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 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 7c7bbfc3a9 Add userdir testcases. This also fixes an undefined value. 2007-01-06 04:22:46 +00:00
joey 85566ff3a3 cgiurl now needs to be set to get edit links 2006-12-28 20:44:33 +00:00
joey 1cc030f96b git test suite 2006-11-26 20:10:09 +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 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 5bc73d7fac * Rename ikiwiki.pl so MakeMaker doesn't see it, and install it.
* Add some code to the build system that tries to determine if the
  lib installation directory is in @INC. If it's not, munge ikiwiki
  to hardcode the path to the lib directory. This should allow installing
  ikiwiki in nonstandard locations, including home directories, by just
  setting PREFIX at build time.
* Fix nested examples directory in deb.
2006-11-20 22:12:43 +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 52e06ad51e improve diagnostics 2006-09-25 20:15:02 +00:00
joey c439d5a8ab add 2006-09-11 03:52:55 +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 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 bcf135038a validate plugins/map 2006-08-18 22:57:20 +00:00
joey fcf3894e80 update 2006-08-13 02:08:42 +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 9dee2ec20e * Ship ikiwiki executable as ikiwiki.pl in source to avoid issues on
case-sensative filesystems like OSX.
2006-08-08 14:55:14 +00:00
joey 1253db7de2 * Added created_before and created_after PageSpec limits. 2006-08-03 16:55:52 +00:00
joey ee84ed3770 * Fix stupid bug in date matching, patch from Roland Mas. Closes: #381132
* Added many unit tests for pagespec_match.
2006-08-02 15:33:26 +00:00
joey fae3da7ce3 link and backlink pagespec tests 2006-08-02 04:52:35 +00:00
joey 895da646a8 complex test 2006-08-02 02:10:24 +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 a0653933d3 * Add exclude option in setup files, works same as --exclude. 2006-07-28 17:48:24 +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 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 a5fdf47147 FUCK UTF8 fuck fuck fuck!!!
(and perl)
2006-07-02 03:54:12 +00:00
joey bd1b505bc9 add a testcase for the weird markdown utf-8 crasher to make sure that
ikiwiki continues to work around it
2006-06-16 04:56:25 +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 65d0aee407 * --getctime had bitrotted (well I only ever used it the once so far..),
* When inlining a page in another one, links from the inlined page are now
  expanded the same as they are when rendering the inlined page as a
  standalone page. So rather than being expanded from the POV of the
  inlining page, they are expanded from the POV of the inlined page.
  For example, a link from blog/foo to "bar" will now link to blog/bar
  if it exists. Previously this needed to be a link explicitly to 
  "blog/bar"; such links will also continue to work.
  (This was slightly complex to do as the link still has to be constructed
  relative to the inlining page.)
2006-05-26 16:11:53 +00:00
joey 282893be81 * Rebuilding on upgrade to this version is recommended.
* Add a html validity check to the test suite, using the wdg-html-validator,
  if available.
* Make the html valid when there is nothing in the actions list by adding an
  empty <li> to the end of it.
* Reordered some function call parameters for consistency.
2006-05-26 08:24:36 +00:00
joey 642f73a39f dirname, basename, bestlink, linkify, pagetitle, titlepage.
* Allow links of the form [[some page|page]], with whitespace in the link
  text.
2006-05-04 18:51:26 +00:00
joey e5ae4bbcf7 add a syntax check 2006-05-03 20:06:31 +00:00
joey 4ba45ec3fc add 2006-05-02 21:15:39 +00:00
joey 55cc22939f * Add unit tests for several core functions, including globlist_match,
dirname, basename, and bestlink.
  as plugins and work. (Well, in theory.)
2006-05-02 21:14:50 +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 f9ce7a571d * Add a unit test for globlist_match(). 2006-05-02 07:03:52 +00:00
Joey Hess 181bdbe1a9 use HTML::Entities 2008-11-17 14:27:11 -05:00
Joey Hess 43039d7d86 modify to skip tests if the neccessary perl modules are not available 2008-11-17 14:22:11 -05:00
Simon McVittie e7a840ed9a htmlbalance: new plugin that balances tags by parsing and re-serializing 2008-11-17 10:46:21 +00:00