summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/todo/pagespec_expansions.mdwn38
1 files changed, 37 insertions, 1 deletions
diff --git a/doc/todo/pagespec_expansions.mdwn b/doc/todo/pagespec_expansions.mdwn
index 111217948..3e8abbace 100644
--- a/doc/todo/pagespec_expansions.mdwn
+++ b/doc/todo/pagespec_expansions.mdwn
@@ -42,6 +42,9 @@ I can see why it might not be much of an improvement. :) --Ethan
> Seems to me that ".." would be the natural thing to use, not "@". --[[Joey]]
+>> I don't understand.. "a/b/.." matches a/b/c but not a/b/c/d ? That doesn't
+>> seem natural to me at all. --Ethan
+
OK, I took a shot at implementing the changes. I was thinking about making
pagespecs relative by default but I couldn't decide whether page
`foo/bar` inlining `*` should match `foo/bar/*` or `foo/*`.
@@ -57,14 +60,47 @@ and you can see it work at
> as its third parameter. This will allow add_depends to add a
> dependency on a pagespec that matches relative to the page. I made this
> changes and it seems to work, new pages are noticed in updates.
+
+>> OK, I was kind of flying blind for a lot of those plugins. You would
+>> know better than me.
+
> * `! $from` fails to match pages named "0" :-)
+
+>> I don't understand. How did you even get $from into the
+>> translated pagespec?
+
> * '/./ matches any letter, not just "." :-) :-)
+
+>> Oof, thanks for catching that.
+
> * One other major problem. If you look at the doc/examples/blog/index.mdwn
> I changed it to use relative globs like "./posts/*", but they didn't work,
> because it looked for examples/blog/indexposts/* instead of
> examples/blog/index/posts/*. And, of course, what I really expected it to
> look for was examples/blog/posts/*. I think you may have made the wrong
> choice about that, so I changed it to go the other way. What do you think?
->
+
+>> I could have sworn I made a change like that -- I was gonna make a call to
+>> basename() or something .. wait, I might have decided not to, because it
+>> would interfere with my index patch. Yeah, I guess my code was wrong.
+>> Don't "nice patches" usually work? :) My test cases were mostly "./*",
+>> so it slipped under the radar.
+
+>> As for what it should have done, that's much harder! My gut feeling is that
+>> "a/b/c.mdwn" inlining `./*` wants `a/b/c/*` and not `a/b/*`, and this is
+>> what I programmed for. I also feel that "a/b/c" inlining `./d/*` could go
+>> either way. Ideally we'd check for both, maybe using bestlink?
+
+>> The issue might be confounded some by your use of an index page, and
+>> ikiwiki doesn't have good support for those yet :) .
+>> I think ideally your index page would be treated as inlining from
+>> examples/blog/. To resolve this issue we should consider, for example:
+>> clothes/pants inlines `./jeans/*` -- probably means clothes/pants/jeans
+>> vacation/bermuda/blog inlines `./pics/*` -- probably vacation/bermuda/pics
+
> I've committed support for ./ to ikiwiki now, based on your patch.
> --[[Joey]]
+
+>> Cool! I haven't played with it yet, but looking over the patch, I see that
+>> you added another parameter to match_glob, which is an approach that didn't
+>> occur to me. I like it, it's more flexible. --Ethan \ No newline at end of file