--- /dev/null
+The main output routines now more or less work.
+
+Known issues:
+- 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. 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 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.
+
+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 <pre>.
+ 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.
--- /dev/null
+/*
+* Styles for lyx document.
+*/
+body {
+ font: x-small serif;
+ background: #f9f9f9;
+ color: black;
+ margin: 0;
+ padding: 0;
+}
+
+#globalWrapper {
+ font-size: 127%;
+ margin: 10px 80px 10px 80px;
+ padding: 20px;
+ background: #ffffff;
+ line-height: 1.5em;
+ overflow: hidden;
+}
+a {
+ text-decoration: none;
+ color: #0030c0;
+ background: none;
+}
+a:visited {
+ color: #603090;
+}
+a:active {
+ color: #ffa000;
+}
+a:hover {
+ text-decoration: underline;
+}
+h1 {
+ margin-top: 1em;
+ line-height: 1.5em;
+}
+h1.Part {
+ text-align: center;
+}
+sup {
+ font-size: 0.75em;
+ line-height: 0.5em;
+ vertical-align: text-top;
+}
+sub {
+ font-size: 0.75em;
+ line-height: 0.5em;
+ vertical-align: text-bottom;
+}
+div.Standard {
+ margin: 1em 0;
+}
+p.dir {
+ float: right;
+}
+p.printindex {
+ font-size: 0.90em;
+}
+a.printindex {
+ color: black;
+}
+div.float {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ text-align: center;
+}
+div.figure {
+ display: inline-block;
+ padding: 0.2ex;
+ margin-left: auto;
+ margin-right: auto;
+ border: thin solid #c0c0c0;
+}
+div.table {
+ display: inline-block;
+ padding: 0.2ex;
+ margin-left: auto;
+ margin-right: auto;
+ border: thin solid #c0c0c0;
+}
+div.algorithm {
+ display: inline-block;
+ text-align: left;
+ padding: 0.2ex;
+ margin-left: auto;
+ margin-right: auto;
+ border: thin solid #c0c0c0;
+}
+div.caption {
+ text-align: center;
+ font-family: sans-serif;
+ margin-left: auto;
+ margin-right: auto;
+ padding: 0.5ex;
+}
+img.figure {
+ padding: 1ex;
+}
+table {
+ text-align: center;
+ border-collapse: collapse;
+ margin-top: 1em;
+ margin-bottom: 1em;
+ margin-left: auto;
+ margin-right: auto;
+}
+tr.header {
+ border-bottom: thin solid #c0c0c0;
+ background: #ffffff;
+ font-weight: bold;
+}
+td {
+ padding: 1ex;
+ border: thin solid #f0f0f0;
+}
+td div.Standard {
+ margin: 0ex;
+ padding: 0ex;
+}
+div.caption div.Standard, div.table div.Standard {
+ margin: 0ex;
+ padding: 0ex;
+}
+td.numeric {
+ text-align: right;
+}
+td.empty {
+ text-align: center;
+}
+.right {
+ text-align: right;
+}
+.center {
+ text-align: center;
+ margin-left: auto;
+ margin-right: auto;
+}
+p.biblio {
+ font-size: 0.90em;
+}
+div.Paragraph, div.Paragraph- {
+ font-weight: bold;
+ font-size: 103%;
+}
+span.versalitas {
+ font-variant: small-caps;
+}
+span.sans {
+ font-family: sans-serif;
+}
+span.mathsf {
+ font-family: sans-serif;
+ font-style: normal;
+}
+span.red {
+ color: #c00000;
+}
+span.blue {
+ color: #0000c0;
+}
+span.green {
+ color: #00c000;
+}
+span.magenta {
+ color: #c000c0;
+}
+span.cyan {
+ color: #00c0c0;
+}
+span.yellow {
+ color: #c0c000;
+}
+span.white {
+ color: #ffffff;
+}
+.formula {
+ color: #000040;
+ text-align: center;
+}
+div.formula {
+ padding: 0.5ex;
+ margin-left: auto;
+ margin-right: auto;
+}
+span.overline {
+ text-decoration: overline;
+}
+span.bar {
+ text-decoration: overline;
+}
+.fraction {
+ display: inline-block;
+ position: relative;
+ vertical-align: middle;
+}
+span.denominator {
+ display: block;
+ padding: 0;
+ border-top: thin solid #000040;
+}
+span.sqrt {
+ display: inline-block;
+ vertical-align: middle;
+}
+span.radical {
+ display: inline-block;
+ padding: 0;
+ font-size: 150%;
+ vertical-align: top;
+}
+span.root {
+ display: inline-block;
+ border-top: thin #000040 solid;
+ padding: 0;
+ vertical-align: middle;
+}
+span.symbol {
+ font-size: 125%;
+}
+span.bigsymbol {
+ font-size: 150%;
+}
+span.limits {
+ display: inline-table;
+ vertical-align: middle;
+}
+sub.bigsymbol {
+ display: table-row;
+ text-align: left;
+ line-height: 150%;
+}
+sup.bigsymbol {
+ display: table-row;
+ text-align: left;
+ line-height: 150%;
+}
+span.symbolover {
+ font-style: italic;
+ text-align: center;
+ position: relative;
+ bottom: 0.4em;
+ left: -1.3ex;
+ padding: 0ex;
+ width: 0ex;
+ float: right;
+}
+span.withsymbol {
+ display: inline-block;
+}
+span.dotted {
+ border-top: thin #000040 dotted;
+}
+span.FootMarker {
+ color: #004000;
+}
+span.Foot {
+ float: right;
+ clear: right;
+ margin: 0.2ex;
+ border: thin solid #c0c0c0;
+ background: #ffffff;
+ width: 30%;
+ padding: 0.5ex;
+ font: small normal;
+ text-align: left;
+}
+span.Marginal {
+ float: right;
+ border: thin solid #c0c0c0;
+ background: #ffffff;
+ width: 25%;
+ padding: 0.5ex;
+ font: small normal;
+}
+span.Note {
+ display: none;
+}
+span.code {
+ font-family: monospace;
+}
+div.Plain {
+ display: inline;
+ width: auto;
+}
+h1.title {
+ text-align: center;
+}
+h2.author {
+ text-align: center;
+}
+span.text {
+ font-style: normal;
+}
+span.textipa {
+ color: #008080;
+}
+span.Description-entry {
+ font-weight: bold;
+}
+span.List-entry {
+ display: inline-block;
+ width: 25%;
+}
+div.Space {
+ display: none;
+}
+span.fraktur {
+ font-family: blackletter;
+}
+span.blackboard {
+ font-family: Blackboard, serif;
+}
+span.script {
+ font-family: cursive;
+}
+span.arraydef {
+ display: none;
+}
+span.appendix {
+ display: none;
+}
+h1.biblio {
+ font-size: 140%;
+}
+table.formula {
+ display: inline-block;
+ text-align: center;
+ border-collapse: collapse;
+ margin: 0em;
+ vertical-align: middle;
+}
+td.formula-l {
+ text-align: left;
+ padding: 0.2ex;
+ border: 0ex;
+}
+td.formula-c {
+ text-align: center;
+ padding: 0.2ex;
+ border: 0ex;
+}
+td.formula-r {
+ text-align: right;
+ padding: 0.2ex;
+ border: 0ex;
+}
+table.cases {
+ display: inline-block;
+ text-align: center;
+ border-collapse: collapse;
+ margin: 0.2em;
+ border-left: thin solid #000040;
+ vertical-align: middle;
+}
+table.cases tr td {
+ padding-left: 1ex;
+ padding-right: 1em;
+}
+span.greyedout {
+ color: #808080;
+}
+div.Description, div.List, li {
+ margin: 1em 0;
+}
+li.nested {
+ list-style-type: none;
+}
+span.Info {
+ background: #f0f0f0;
+ border: thin solid #c0c0c0;
+}
+pre {
+ padding: 0.2em 2em;
+ margin-left: 1em;
+ margin-right: auto;
+ margin-top: 0em;
+ margin-bottom: 0em;
+ width: auto;
+ font-family: monospace;
+ line-height: 1.1em;
+}
+a.Label {
+ text-decoration: none;
+ color: #000000;
+}
+div.Date {
+ text-align: center;
+}
+div.wrap-l, div.wrap-o, div.wrap-i {
+ margin: 2ex;
+ float: left;
+}
+div.wrap-r {
+ margin: 2ex;
+ float: right;
+}
+div.abstract {
+ margin: 3em;
+ text-align: center;
+}
+p.abstract-message {
+ font-weight: bold;
+}
+div.listing {
+ display: inline-block;
+ text-align: left;
+ margin-left: auto;
+ margin-right: auto;
+ border: thin solid #c0c0c0;
+}
+code.listing {
+ white-space: pre;
+}
+div.framed {
+ border: thin solid black;
+}
+div.frameless {
+}
+span.number-left {
+ float: left;
+ background: #f0f0f0;
+ width: 3em;
+ text-align: right;
+ margin-right: 1em;
+}
+span.number-right {
+ float: right;
+ background: #f0f0f0;
+ width: 3em;
+ text-align: right;
+ margin-left: 1em;
+}
+a.eqnumber {
+ display: inline-block;
+ float: right;
+ font-weight: bold;
+ color: #000040;
+}
+span.unknown {
+ color: #800000;
+}