X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2FHTML%2FHTML.notes;h=427fac952fd28f07d01c1e10fba0e39c1dbd6671;hb=f503ce67fc2d2f945a519a277c479a769c0d522c;hp=46a31e81e16d85eadedb91737af1d393713777f6;hpb=d832613cac5d2ec964ea54c916bac97331fef421;p=lyx.git diff --git a/development/HTML/HTML.notes b/development/HTML/HTML.notes index 46a31e81e1..427fac952f 100644 --- a/development/HTML/HTML.notes +++ b/development/HTML/HTML.notes @@ -1,69 +1,90 @@ -The main output routines now more or less work. +TODO: +1. The counter patch, and better output for InsetRef. +2. Better output for citations, meaning better labels. Numerical, as said below, + should be easy, and author-year oughtn't to be THAT hard. But it'll need a + bit of work. +3. CSS needs work in several places, mostly floats. Maybe check elyxer on that. +4. 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: - Bibitem, 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. + 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. To get output that + accorded with the BibTeX style, of course, we'd have to parse the bbl file. + I don't know if that's worth it. + - 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. + - A third issue concerns the labels. At present, we use the BibTeX key as the + citation label. It would not be too hard, I think, to use numerical labels, + in the way BibTeX does. To do so, we'd need to move the sorting routine out + of InsetBibtex so we could do it before we print the citations. See below. + InsetBox: The CSS isn't there yet. + InsetCitation: This has two limitations as of 20 XI 2009. The first is that we + ignore the citation style and output square brackets, no matter what. The + second is that, with BibTeX, we simply use the BibTeX key as the citation + string, thus ignoring numerical, author-year, etc. It will not be too hard + to make numerical work. To do this, we need to collect information on the + used citations, alphabetize them, and then assign numerical labels via the + BibTeXInfo::label() method. A similar strategy will work for author-year and + the like, but calculating labels will be more complex---unless we just parse + the bbl file, which of course is the only fully general solution. + 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. + 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. + InsetRef: At present, we just use the label name as associated text, and put it + into square brackets. It'd be nice to be able to do more, but for that we'd need to + associate counters with the labels, and we don't have that yet. + 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. + InsetTOC: This now works pretty well, but only for the table of contents, not for + any other TOC-like lists. Getting those to work shouldn't be too bad, as we can + do almost exactly the same thing. That said, though, we might want to do things + slightly differently, and have the links target actual *insets*, rather than just + target paragraphs. That'd mean doing a bit of work on TocBackend, etc. + InsetXYMatrix: So far as I can tell, using this in LyX effectively involves using a + lot of ERT, within the matrix, to get the arrow effects. At present, it just prints + as an InsetMathGrid, from which it inherits, and so as a simple table. I don't know + how much more we can do. -These insets do not work but should be completely straightforward: - Caption, Flex (uses collapsable) +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: + - AMSArray + - Array + - Box: There is a general issue here with text mode nesting. See the FIXME attached + to the SetMode class. + - Lefteqn + - Par? + - Phantom: There is some support for this in MathML.... + - Ref: Needs to be deferred. + - Size: Unclear if we want to do anything here, though we could. See + lib/symbols for the commands supported, of course. + - Space: Needs checking. + - SpecialChar: Needs checking. + - Split: See lib/symbols, for split insets. + - 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. -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: - 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. +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. 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.
+
+May need to make use here of TocWidget::itemInset, which should then be moved
+to TocBackend.
 
 MATH
 	Regarding math, the view seems to be that we should in the first instance just use what