diff options
author | http://lj.rossia.org/users/imz/ <http://lj.rossia.org/users/imz/@web> | 2009-05-18 17:10:26 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2009-05-18 17:10:26 -0400 |
commit | 631e7e0b20d301a00a04db72d0c020afa4ec2e71 (patch) | |
tree | 037b08498631b4a4506382396954b5d2fad6a3b8 /doc/todo | |
parent | 300a4c548ccd2868d216f36d6180d93d86492148 (diff) | |
download | ikiwiki-631e7e0b20d301a00a04db72d0c020afa4ec2e71.tar ikiwiki-631e7e0b20d301a00a04db72d0c020afa4ec2e71.tar.gz |
a development on the topic of defining classes of pages
Diffstat (limited to 'doc/todo')
-rw-r--r-- | doc/todo/inlines_inheriting_links.mdwn | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/doc/todo/inlines_inheriting_links.mdwn b/doc/todo/inlines_inheriting_links.mdwn new file mode 100644 index 000000000..54249bdee --- /dev/null +++ b/doc/todo/inlines_inheriting_links.mdwn @@ -0,0 +1,16 @@ +[[!tag wishlist]] + +Continuing the ideas in [[bugs/Inline doesn't wikilink to pages]]. + +I thought of a use case for another feature: making [[directives/inline]] inherit the link relations of the included pages (optionally, say, with `inheritlinks=yes`). For example, if I want to list `elements/*` that have been linked to in any of `new_stuff/*`, I could try to write a [[ikiwiki/pagespec]] like +`elements/* and backlink(new_stuff/*)`. + +This is not yet possible, as discussed in [[todo/tracking_bugs_with_dependencies/]]. + +It would be possible to work around this limitation of pagespecs if it was possible to create a page `all_new_stuff` with `\[[!inline pages="new_stuff/*" inheritlinks=yes]]`: then the desired pagespec would be expressed as `elements/* and backlink(all_new_stuff)`. + +This is not just an ugly workaround. The availability of this feature has some reason: the classes of pages you want to refer to "recursively" (in that kind of complex pagespecs) tend to have some meaning themselves. So, I might indeed want to have a page like `all_new_stuff`, it would be useful for me. And at the same time I would like to write pagespecs like `elements/* and backlink(all_new_stuff)` -- and using the proposed feature in [[todo/tracking_bugs_with_dependencies/]] would be less clean because then I would have to enter the same information at two places: the possibly complex pagespec in the inline. And having redundant information leads to inconsistency. + +So in a sense, in some or most cases, it would indeed be cleaner to "store" the definition of a class of pages referred to in complex pagespecs as a separate object. And the most natural representation for this definition of a class of pages (adhering to the principle of wiki that what you mean is entered/stored in its most natural representation, not through some hidden disconnected code) is making a page with an inline/map/or the like, so that at the same time you store the definition and you see what it is (the set of pages is displayed to you). + +I would actually use it in my current "project" in ikiwiki: I actually edit a set of materials as a set of subpages `new_stuff/*`, and I also want to have a combined view of all of them (made through inline), and at another page, I want to list what has been linked to in `new_stuff/*` and what hasn't been linked to.--Ivan Z. |