From: Lea W. <lew...@gm...> - 2007-06-26 18:06:26
|
David Goodger wrote: > 1. We could apply ordinary reST syntax rules here. :: > > * :file: ``path\to\file.txt`` > > 2. We could treat the directive content the same as directive option > arguments. Option arguments don't have their backslashes > interpreted as escapes. I don't know where that happens though It's because it's never escaped, since the inliner has not yet kicked in. > The simplest solution may be to undo escape2null with a call > to unescape, before parsing the directive content. Ideally, field bodies (and names) should not be parsed at all, so they're not escaped in the first place. What if we want to allow referencing sub-documents by URI? For instance, there are .../*checkout*/... URI's out there -- it's not just backslashes. I think the best solution would be to process the directive contents in a similar fashion as directive options are parsed (see e.g. ExtensionOptions and the method that calls it). I'm going to look into this and try to come up with an implementation. > The problem with (2) is, what if we want to use reST syntax in other > options? For example, in a title? Why not call nested_parse? > (1) seems simpler; I suggest we go that route for now. There is no "for now" in this case -- the syntax alternatives are not compatible, so we cannot change them later. Since (2) is cleaner and we should not design the syntax around the implementation, (2) is the better choice IMO. Best wishes, Lea |