Some more thoughts on this...

master
http://smcv.pseudorandom.co.uk/ 2009-02-20 11:05:05 -05:00 committed by Joey Hess
parent 1e9629b8f6
commit 3534dc39ed
1 changed files with 17 additions and 4 deletions

View File

@ -89,12 +89,15 @@ could look something like this:
The next/previous part this plugin overlaps with [[todo/wikitrails]]. The next/previous part this plugin overlaps with [[todo/wikitrails]].
A \[[!galleryimg]] directive to assign metadata to images is probably necessary, so A \[[!galleryimg]] directive to assign metadata to images might be necessary, so
the gallery page can contain something like: the gallery page can contain something like:
\[[!galleryimg p1010001.jpg title="..." caption="..." tags="foo"]] \[[!galleryimg p1010001.jpg title="..." caption="..." tags="foo"]]
\[[!galleryimg p1010002.jpg title="..." caption="..." tags="foo bar"]] \[[!galleryimg p1010002.jpg title="..." caption="..." tags="foo bar"]]
However, allowing other pages to push in metadata like that will make
dependency tracking difficult.
Making the viewer pages could be rather tricky. Here are some options: Making the viewer pages could be rather tricky. Here are some options:
"synthesize source pages for viewers" is the one I'm leaning towards at the "synthesize source pages for viewers" is the one I'm leaning towards at the
moment. moment.
@ -105,9 +108,19 @@ One possibility is to write out the viewer pages as a side-effect of
preprocessing the \[[!gallery]] directive. The proof-of-concept implementation preprocessing the \[[!gallery]] directive. The proof-of-concept implementation
below does this. However, this does mean the viewer pages can't have tags or below does this. However, this does mean the viewer pages can't have tags or
metadata of their own and can't be matched by [[pagespecs|ikiwiki/pagespec]] or metadata of their own and can't be matched by [[pagespecs|ikiwiki/pagespec]] or
[[wikilinks|ikiwiki/wikilink]]. It might be possible to implement tagging by [[wikilinks|ikiwiki/wikilink]].
using \[[!galleryimg]] to assign the metadata to the *images* instead of their
viewers. It might be possible to implement tagging by using \[[!galleryimg]] to assign
the metadata to the *images* instead of their viewers; however, that would
require hacking up both `IkiWiki::htmllink` and `IkiWiki::urlto` to redirect
links to the image (e.g. from the \[[!map]] on a tag page) to become links to
the viewer page.
Modifications to the comments plugin would also be required, to make it allow
comments written to `foo/bar/comment_1._comment` even though the page foo/bar
does not really exist, and display comments on the viewer pages even though
they're not real pages. (Writing comments to `foo/bar.jpg/*._comment` is not
an option!)
### Synthesize source pages for viewers ### Synthesize source pages for viewers