From: Michael F. <mi...@pc...> - 2005-09-29 15:14:13
|
David Goodger wrote: > [Michael Foord] > >>What I need to do is to put multiple elements (usually a couple of >>paragraphs, and sometimes an image as well) into a single 'div' with >>a class applied. > > > Docutils doesn't currently have an exact equivalent of HTML's <div> -- > a generic container element. I see the following possible solutions > to your problem: > > 1. Add a generic container element, to which a "class" attribute can > be attached. This has been discussed before (IIRC, although I > can't remember when), and I think I'm not averse to the concept. > This sounds good. If it's actually going to happen I'm happy to wait - that's pretty cool. > 2. Abuse the "compound" directive to your ends. > > 3. Alter the "topic" directive to allow the title to be omitted (it > isn't required by the DTD), and abuse that. > > 4. Extend the "class" directive to accept content, and apply the class > attribute to each (top-level) element in its content. > > Although it's documented not to, the "class" directive code > currently *does* allow content, but ignores it completely. That's > a bug, which I fixed just now. > > But then I thought about it, and couldn't think of a reason not to > allow the "class" directive to allow content. So I just > implemented this (on the train into work :-). > > If the now-implemented #4 suits your purposes (no <div> element, but > the class attribute is set), then we're done. Past that, I'd say #1 > is the cleanest & best solution. I can't guarantee when it would be > implemented; the return train ride may not be enough ;-). > I'd noticed that contents to the class directive just vanished :-) I don't think this will solve my problem because to cleanly contain multiple paragraphs the container really *ought* to be a div. Because I want things like a single border around multiple elements, just applying the class *separately* to multiple elements doesn't help. All the best, Michael Foord > -- > David Goodger <http://python.net/~goodger> |