From 43f2ba5def1ada506fc005b6efab3da88f74930f Mon Sep 17 00:00:00 2001 From: joey Date: Tue, 22 Aug 2006 17:54:10 +0000 Subject: [PATCH] revert broken parentlinks fix, which was broken, explain why add plugins/contrib page to avoid broken link on this wiki --- IkiWiki/Render.pm | 2 +- debian/changelog | 2 -- doc/bugs/broken_parentlinks.mdwn | 16 +++++++++++++++- doc/plugins.mdwn | 2 +- doc/plugins/contrib.mdwn | 3 +++ templates/page.tmpl | 4 ---- 6 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 doc/plugins/contrib.mdwn diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm index c3736ecb1..ddd146922 100644 --- a/IkiWiki/Render.pm +++ b/IkiWiki/Render.pm @@ -74,7 +74,7 @@ sub parentlinks ($) { #{{{ foreach my $dir (reverse split("/", $page)) { if (! $skip) { $path.="../"; - unshift @ret, { url => exists $pagesources{$dir} ? $path.htmlpage($dir) : "", page => pagetitle($dir) }; + unshift @ret, { url => $path.htmlpage($dir), page => pagetitle($dir) }; } else { $skip=0; diff --git a/debian/changelog b/debian/changelog index e1fa4b859..825b7a6ff 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,5 @@ ikiwiki (1.22) UNRELEASED; urgency=low - * 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) diff --git a/doc/bugs/broken_parentlinks.mdwn b/doc/bugs/broken_parentlinks.mdwn index 359f026ba..a58ff6ffe 100644 --- a/doc/bugs/broken_parentlinks.mdwn +++ b/doc/bugs/broken_parentlinks.mdwn @@ -6,4 +6,18 @@ For example, if you are in 'example/page.html', the header will be something like 'wiki / example / page'. Now, if 'example.html' doesn't exist, you'll have a dead link for every subpage. -[[todo/done]] +--- + +This is a bug, but fixing it is very tricky. Consider what would happen if +example.mdwn were created: example/page.html and the rest of example/* +would need to be updated to change the parentlink from a bare work to a +link to the new page. Now if example.mdwn were removed again, they'd need +to be updated again. So example/* depends on example. But it's even more +tricky, because if example.mdwn is modified, we _don't_ want to rebuild +example/*! + +ikiwiki doesn't have a way to represent this dependency and can't get one +without a lot of new complex code being added. + +For now the best thing to do is to make sure that you always create +example if you create example/foo. Which is probably a good idea anyway.. diff --git a/doc/plugins.mdwn b/doc/plugins.mdwn index efcf65a7d..86be637e6 100644 --- a/doc/plugins.mdwn +++ b/doc/plugins.mdwn @@ -15,7 +15,7 @@ or the equivalent `add_plugins` line in [[ikiwiki.setup]]. Add all plugins here. Or add ideas to the [[todo|todo/plugin]] page. -[[inline pages="plugins/* !plugins/type/* !plugins/write !*/Discussion" archive="yes" rootpage="plugins/contrib" show="60"]] +[[inline pages="plugins/* and !plugins/type/* and !plugins/write and !plugins/contrib and !*/Discussion" archive="yes" rootpage="plugins/contrib" show="60"]] # Installing third party plugins diff --git a/doc/plugins/contrib.mdwn b/doc/plugins/contrib.mdwn new file mode 100644 index 000000000..939d7da5f --- /dev/null +++ b/doc/plugins/contrib.mdwn @@ -0,0 +1,3 @@ +Contributed [[plugins]]: + +[[inline pages="plugins/contrib/* !*/Discussion" archive="yes" rootpage="contrib" show="60"]] diff --git a/templates/page.tmpl b/templates/page.tmpl index 21746f332..438fbc25d 100644 --- a/templates/page.tmpl +++ b/templates/page.tmpl @@ -14,11 +14,7 @@
- / - -/ - -- 2.32.0.93.g670b81a890