]> git.lyx.org Git - lyx.git/blobdiff - development/HTML/HTML.notes
XHTML output for InsetListings.
[lyx.git] / development / HTML / HTML.notes
index b3c16df17aeca99e00548d0e8d1cc01baecca933..7f8a77a28146db09350b05a9aec60239fdda1184 100644 (file)
@@ -1,44 +1,59 @@
 The main output routines now more or less work.
 
 Known issues:
-- InsetLine normally appears in a standard environment, which puts <hr /> inside
+* InsetLine normally appears in a standard environment, which puts <hr /> inside
        <p>, in violation of the DTD. I guess we could close the paragraph and then do
        the <hr />, 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
+* The same issue arises with InsetVSpace, unsurprisingly. And also with the inline
+       version of InsetListings. 
+* One option here, actually, would be to use just <div> and never use <p>, setting
+       the spacing and such via CSS.
+* 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
+       Bibitem, Branch, Caption, Collapsable, Footnote, Hyperlink, Info, Label, Line, 
+       Listings, Marginal, Note, Newline, Newpage, Quotes, Space, SpecialChar, Wrap
 
-These insets probably do nothing:
-       OptArg, Phantom
+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.
+       InsetBox: The CSS isn't there yet.
+       InsetCitation: This has two limitations as of 11 VI 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.
 
-These insets do not work but should be completely straightforward:
-       Caption, Flex (uses collapsable)
+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.
+       InsetNomencl and InsetPrintNomencl: Also "advanced".
+
+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?
-       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.
        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
@@ -46,22 +61,13 @@ These do not yet work and need some attention:
        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 <pre>.
-       InsetMarginal: Fine, but will need CSS.
-       InsetNomencl: 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.
+       InsetTOC: We should just be able to use what we have in the TOC. To get links to
+               work, though, we'll need to co-ordinate the writing of anchors in the sections,
+               which won't actually happen until later.
 
 MATH
        Regarding math, the view seems to be that we should in the first instance just use what