X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2FHTML%2FHTML.notes;h=8628aad8d6e1a6ece7d3a894bfdc90ee7906413f;hb=9c5ff86089b5a4002464a91cea2620a353028349;hp=cb7171fc80082071d08231231f547b495ad5913e;hpb=f39a71ec7691981e5b86015a8e60919451cdb8c3;p=lyx.git diff --git a/development/HTML/HTML.notes b/development/HTML/HTML.notes index cb7171fc80..8628aad8d6 100644 --- a/development/HTML/HTML.notes +++ b/development/HTML/HTML.notes @@ -1,70 +1,64 @@ -The main output routines now more or less work. +TODO: +1. CSS needs work in several places, mostly floats. Maybe check elyxer on that. +2. MathML -Known issues: -- InsetLine normally appears in a standard environment, which puts
inside -

, in violation of the DTD. I guess we could close the paragraph and then do - the


, but isn't there a better solution? There's actually a LyX bug here, - I think, since a line surely ought not appear in a normal paragraph? -- The code that manages the nesting of tags is pretty primitive. Its main function - is to keep us from outputting too many "p" tags. But perhaps it does its work. - We shall see. -These insets are basically done, though there are probably issues here and there, - and there are even some FIXMEs: - Branch, Hyperlink, Label, Line, Newline, Newpage, Quotes, Space, SpecialChar +These insets work but still need work: + InsetBibtex: There are a few issues here. + - One is that the output is not very nice. This will be solved, though, by + a patch of mine I seem to have forgotten to finish. + - Another issue concerns cross-references. At the moment, we simply use the + xref information for every entry, rather than listing the xref separately and + then referencing it. That should not be terribly hard, but it would take a bit + of work. + InsetBox: The CSS isn't there yet. + InsetFlex: I think this one is OK, but it needs some testing. + InsetFloat: This seems to work OK, but it will need testing and tweaking. There is + also no CSS yet for these. + InsetFloatList: Seems to work well, but may need testing. + InsetGraphics: This works in a pretty primitive way, in that it outputs the graphic + and appropriate img tag. But we don't yet do any sort of scaling, rotating, and + so forth. That won't be hard, since we can just call ImageMagick to do this for + us, but appropriate routines will need to be written. + InsetIndex and InsetPrintIndex: These work with limitations, as noted in the + Additional Features manual. + InsetNomencl and InsetPrintNomencl: Do not work at all yet, but would be easy to do. + First, Nomencl would need to go to the TOC, which it should do anyway. Then just + do as for TOC and Index, more or less. + InsetTabular: Works reasonably well, but we don't do anything with any of the + arguments provided for longtable. There are probably other limitations, too, + since I'm very much not an expert with tables. -These insets probably do nothing: - OptArg, Phantom -These insets work but still need work: - InsetBox: We need a Length::asHTML() method and the like, but it basically works. - though the CSS isn't there yet. +Math + We have a fair bit of math now working via MathML output, but there are still some + isues, and not all the insets work. Here are the ones I know still need work: + - Array: Should be able to use alignment information via appropriate attributes, for + mtable, mrow, and mtd. + - Box: There is a general issue here with text mode nesting. See the FIXME attached + to the SetMode class. + - Lefteqn: For this, and numbering in general, probably need mlabeledtr, which may + mean we always need to output . + - Par? + - Phantom: There is some support for this in MathML.... + - Space: Needs checking. + - SpecialChar: Needs checking. + - Split: There are some alignment issues here, but it basically works. + - Substack: This is a stack of however many cells, all in a smaller style. + Probably do something with , again. + - Tabular: This is more or less a text-like table in math. Probably output it + as a table, but set the font. + +Other math notes: + - AMSArray: Some of these should be handled via images. I need to investigate which. + - Hull: + - Need to handle the equation hull type by outputting a counter. But that will + have to wait for the counter patch. The counter probably goes with mlabeledtr, + which may mean we always need to output . + - Similar issues about eqnarray. + - It's not clear if we need to do much about the other hull types. -These insets do not work but should be completely straightforward: - Caption, Flex (uses collapsable) -These do not yet work and need some attention: - InsetBibitem: Should be fairly straightforward, in itself, actually. - InsetBibtex: We should be able to collect the keys of references in - validate() and then use our parsed information to output some sort of - bibliography. Formatting is another question, but here again we could - try parsing the bbl file. - InsetCitation: I think we'll want to do something here involving reference keys. - Maybe for the beginning, we should just do everything numerically, but even - that will need a bit of work. Validation is our friend, presumably. - InsetCollapsable: This is a bit of a mess at the moment, but ought not to be - too hard to get right. Probably we ought to do as suggested there, and just - call InsetText::lyxhtml(). - InsetCommand: By default does nothing. That may be right? - InsetERT: It's not entirely clear what it's best to do here. Maybe output it - verbatim. Perhaps wrapped in some CSS. (What else would one expect?) - InsetExternal: I don't understand these so am not sure what to do. - InsetFloat: This will need some work, again because I do not really understand - what these are meant to do. Presumably, we'll just use a div or something, but - it's not clear what subfloat means, etc. - InsetFoot: Easy, but need CSS. - InsetGraphics: This should be fairly straightforward, but I'll need to learn a bit - about export formats, etc, to get it completely right. We'll also want to make - some use of the params, eg, on width and height. I guess there is also some - issue about converting the graphics formats? - InsetInclude: I think we just want to include it, straightforwardly. Probably will - base this more on the latex() routine, then. Another possibility, maybe with a - flag of some sort, would be to do it as a separate file, to which we link. - InsetIndex: Not clear whether to do anything with this or not. Certainly it's an - "advanced" case. - InsetInfo: Probably skip it. - InsetListings: Probably just output it as
.
-	InsetMarginal: Fine, but will need CSS.
-	InsetNomencl: Also "advanced".
-	InsetNote: Need CSS, again.
-	InsetRef: Presumably, this is an internal link. But what should the text be, and how
-		should we get it? Probably some validation thing again, where labels tell us where 
-		they are. Alternatively, we could parse the aux file.
-	InsetTabular: This shouldn't be too hard, but will need doing.
-	InsetTOC: Here again, validation might do the trick, but I'm not sure. Or perhaps some
-		kind of post-processing? Another option, maybe the best option, would be just to use
-		the information we already have in the TOC.
-	InsetVSpace: This will be easy, once we have the Length::asHTML() method.
-	InsetWrap: This should be simple enough, probably a div and some CSS, but I'm not sure
-		precisely what this is supposed to do.
-There seems not to be much here for math, so that will take some doing.
+These insets do not work and are not yet scheduled to work:
+	InsetExternal: It may be that this won't be too hard, but I don't understand
+		these so am not sure what to do. For now, it is disabled.