Notes and the like.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29954 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Richard Heck 2009-06-05 17:51:45 +00:00
parent 062db8b679
commit f39a71ec76
3 changed files with 634 additions and 0 deletions

View File

@ -0,0 +1,70 @@
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.

122
development/HTML/depth.lyx Normal file
View File

@ -0,0 +1,122 @@
#LyX 2.0.0svn created this file. For more info see http://www.lyx.org/
\lyxformat 361
\begin_document
\begin_header
\textclass paper
\begin_preamble
\usepackage{heck}
\end_preamble
\use_default_options false
\language english
\inputencoding auto
\font_roman default
\font_sans default
\font_typewriter default
\font_default_family default
\use_xetex false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\default_output_format lyxhtml
\bibtex_command default
\index_command default
\paperfontsize 11
\spacing onehalf
\use_hyperref false
\papersize letterpaper
\use_geometry true
\use_amsmath 1
\use_esint 0
\cite_engine natbib_authoryear
\use_bibtopic false
\use_indices false
\paperorientation portrait
\leftmargin 1in
\topmargin 1in
\rightmargin 1in
\bottommargin 1in
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\defskip smallskip
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\author ""
\author ""
\end_header
\begin_body
\begin_layout Standard
this is text.
\end_layout
\begin_layout Quote
quote q.
\end_layout
\begin_deeper
\begin_layout Itemize
depth depth
\end_layout
\begin_deeper
\begin_layout Standard
standard stuff
\end_layout
\begin_layout Quote
this quote is not in the list.
\end_layout
\begin_deeper
\begin_layout Quotation
OK, maybe that's deep enough!
\end_layout
\end_deeper
\begin_layout Quote
more of that quote.
\end_layout
\begin_layout Standard
end the standard stuff.
\end_layout
\end_deeper
\begin_layout Itemize
more list
\end_layout
\begin_layout Itemize
some more still
\end_layout
\end_deeper
\begin_layout Quote
more of that quote.
\end_layout
\begin_deeper
\begin_layout Quote
more or another uote.
\end_layout
\end_deeper
\begin_layout Quote
quote t.
\end_layout
\begin_layout Standard
that is text.
\end_layout
\end_body
\end_document

442
development/HTML/elyxer.css Normal file
View File

@ -0,0 +1,442 @@
/*
* 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;
}