I appreciate Sam's attempt to move this discussion in a more
constructive direction and will make a few comments.
There is a strong case that no patch is ideal, patches may reach our
present mis-placed understanding of "ideal", an understanding which we
dearly hope will be superseded in time with better understanding. We
should not accept bad patches, but should we refuse an "OK" patch
merely because we were enlightened the day before we received it
instead of the day afterwards? In other words, is it THAT bad? Does
the badness (which surely exists unseen in patches we like) overpower
the benefit?
I agree with this of course. As I have tried to explain in the other
thread, my specific problem with this patch is that it is pitched at the
wrong level of generality. Either (a) the problem is specific to elyxer
and so shouldn't need solving in LyX or else (b) it isn't specific to
elyxer and so shouldn't be solved with elyxer-specific glue code. That
seems to me to be pretty close to completely obvious. So OK, that's a
"should", so you can ask whether I'm trying to enforce some
inappropriate ideal. Well, maybe. But it really doesn't seem that
horrible to suggest that someone might at least TRY to do this right,
i.e., in a way that will truly solve the problem. If it turns out to be
a horrible mess, then we can return to the hackish approach.
I've got my literate programming packages which avoid the need for
noweave entirely, and which supports parameterized chunks:
http://repo.or.cz/w/newfangle.git
but in light of discussion here I don't highly rate the effort I
anticipate will be required to make it part of Lyx - because after all
it scratches MY itch because Lyx roadmap does not co-incide with my
own, and therefore it does not co-incide with the Lyx roadmap.
I don't do literate programming and the like and so haven't tried to use
these, but it's fairly easy to get things at this level (i.e., modules)
into LyX. Probably the main obstacle in your case is be the awk script,
since there seems to be a policy that things like this are supposed to
be written in Python so as to be cross-platform. I know that's a burden,
but what we include with LyX is supposed to work with LyX as it gets
installed on the various platforms, and introducing a dependency upon
awk probably isn't a good idea. That said, I'll be that porting this
thing to python wouldn't be that bad. Certainly the getopt stuff would
be easier.
Finally, and no offense intended, but I think the situation with elyxer
is not representative of the situation with LyX development generally.
The current team is quite happy to do a lot of hand-holding with new
developers and to offer guidance and direction. But people are indeed
very protective of the code, in a certain sense, and that is because we
are all too familiar with what happens when someone tosses in some code
and then disappears, and those of us who are still here than have to try
to figure out what on earth they've done.
Indeed, it's ironic that what by far most developers would prefer (and
what one developer has partially implemented) is a mode of HTML output
that is much more integrated into LyX than elyxer intends to be. There
are all kinds of reasons that this is the better way to go, long term,
and we'd have been completely happy, and still would be completely
happy, for someone to offer that kind of effort. That would be great, in
fact.
What we have, instead, is a converter that lives in some weird
in-between place where it isn't part of LyX---it is and is intended to
be a standalone, external tool (and this is independent of where the
source is hosted)---but by the same token makes no sense without LyX.
That is what leads to these requests to patch LyX for the specific
benefit of elyxer. The fact that these requests keep being made suggests
to me that this weird in-between place is not a good place for something
to live. Add that to other questions that many of us have had (e.g.,
elyxer is heavily dependent upon LyX's file format, which isn't even
properly documented and was never intended for this kind of use) and you
might start to get a feeling that a lot of effort is being misdirected.
That isn't to say that elyxer isn't in many respects an impressive
achievement. It's just to say that there seem to me to be elements deep
in its design that are quite limiting and that time spent fighting them
could be spent a lot more productively.
Richard