X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2FHTML%2FHTML.notes;h=d609cb3fd04554983f924f7135af08982a651664;hb=77185fe83d28a0a1dc48980a9db3c34110e02e31;hp=6e814212134c491d609f108122bf300e949fa20c;hpb=5e8d08cb9e56dfee0681ffbb532179a5f0bbaf41;p=lyx.git diff --git a/development/HTML/HTML.notes b/development/HTML/HTML.notes index 6e81421213..d609cb3fd0 100644 --- a/development/HTML/HTML.notes +++ b/development/HTML/HTML.notes @@ -1,72 +1,62 @@ -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. It needs a lot - of work. - -These insets are basically done, though there are probably issues here and there, - and there are even some FIXMEs: - Branch, Collapsable, Footnote, Hyperlink, Label, Line, Note, - Newline, Newpage, Quotes, Space, SpecialChar - -These insets do nothing for XHTML: - ERT, 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. - -These insets do not work but should be completely straightforward: - Caption, Flex (uses collapsable) - - -May need to make use here of TocWidget::itemInset, which should then be moved -to TocBackend. - -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. - InsetCommand: By default does nothing. That may be right? - 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. - 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 and InsetPrintIndex: An "advanced" case. What really would be cool - would be to collect all of these and then write the index as a series of links - back to the occurrences. But not now. - InsetInfo: Probably skip it. - InsetListings: Probably just output it as
.
-	InsetMarginal: Fine, but will need CSS.
-	InsetNomencl and InsetPrintNomencl: Also "advanced".
-	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.
-
-MATH
-	Regarding math, the view seems to be that we should in the first instance just use what
-	we get from instant preview and copy those over to the output directory, and then try
-	to make MathML 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.
+
+
+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.
+	- 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 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.