X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Foutput_xhtml.cpp;h=44d94e3e14b8e7274a8771887a2349d915112b02;hb=4594b1425b484138fcae28996f460312d810b8d5;hp=3e212ae9452c911f78fb5b30806b471565f2ba78;hpb=e47d30e9070e5656dce0d00a6a0be6a823888a49;p=lyx.git diff --git a/src/output_xhtml.cpp b/src/output_xhtml.cpp index 3e212ae945..44d94e3e14 100644 --- a/src/output_xhtml.cpp +++ b/src/output_xhtml.cpp @@ -65,6 +65,11 @@ docstring escapeChar(char_type c) } +// FIXME do something here. +docstring htmlize(docstring const & str) { + return str; +} + // FIXME This needs to be protected somehow. static vector taglist; @@ -201,17 +206,36 @@ ParagraphList::const_iterator makeParagraphs(Buffer const & buf, if (par != pbegin) os << '\n'; bool const opened = openTag(os, lay); - par->simpleLyXHTMLOnePar(buf, os, runparams, + docstring const deferred = par->simpleLyXHTMLOnePar(buf, os, runparams, outerFont(distance(paragraphs.begin(), par), paragraphs)); if (opened) { closeTag(os, lay); os << '\n'; } + if (!deferred.empty()) + os << deferred << '\n'; } return pend; } +ParagraphList::const_iterator makeBibliography(Buffer const & buf, + odocstream & os, + OutputParams const & runparams, + ParagraphList const & paragraphs, + ParagraphList::const_iterator const & pbegin, + ParagraphList::const_iterator const & pend) +{ + os << "

" + << pbegin->layout().labelstring() + << "

\n" + << "
\n"; + makeParagraphs(buf, os, runparams, paragraphs, pbegin, pend); + os << "
"; + return pend; +} + + ParagraphList::const_iterator makeEnvironment(Buffer const & buf, odocstream & os, OutputParams const & runparams, @@ -252,7 +276,10 @@ ParagraphList::const_iterator makeEnvironment(Buffer const & buf, closeItemTag(os, *lastlay); lastlay = 0; } - bool const item_tag_opened = openItemTag(os, cstyle); + bool const labelfirst = cstyle.htmllabelfirst(); + bool item_tag_opened = false; + if (!labelfirst) + item_tag_opened = openItemTag(os, cstyle); if (cstyle.labeltype == LABEL_MANUAL) { bool const label_tag_opened = openLabelTag(os, cstyle); sep = par->firstWordLyXHTML(os, runparams); @@ -269,9 +296,14 @@ ParagraphList::const_iterator makeEnvironment(Buffer const & buf, closeLabelTag(os, cstyle); os << '\n'; } - + if (labelfirst) + item_tag_opened = openItemTag(os, cstyle); + else + os << ""; par->simpleLyXHTMLOnePar(buf, os, runparams, outerFont(distance(paragraphs.begin(), par), paragraphs), sep); + if (!labelfirst) + os << ""; ++par; if (item_tag_opened) { // We may not want to close the tag yet, in particular, @@ -302,8 +334,13 @@ ParagraphList::const_iterator makeEnvironment(Buffer const & buf, send = searchParagraph(par, pend); par = makeParagraphs(buf, os, runparams, paragraphs, par, send); break; - // FIXME + // Shouldn't happen case LATEX_BIB_ENVIRONMENT: + send = par; + ++send; + par = makeParagraphs(buf, os, runparams, paragraphs, par, send); + break; + // Shouldn't happen case LATEX_COMMAND: ++par; break; @@ -361,7 +398,6 @@ void xhtmlParagraphs(ParagraphList const & paragraphs, ParagraphList::const_iterator pend = paragraphs.end(); while (par != pend) { - LYXERR0(par->id()); Layout const & style = par->layout(); ParagraphList::const_iterator lastpar = par; ParagraphList::const_iterator send; @@ -378,16 +414,17 @@ void xhtmlParagraphs(ParagraphList const & paragraphs, case LATEX_LIST_ENVIRONMENT: case LATEX_ITEM_ENVIRONMENT: { send = searchEnvironment(par, pend); - par = makeEnvironment(buf, os, runparams, paragraphs, par,send); + par = makeEnvironment(buf, os, runparams, paragraphs, par, send); + break; + } + case LATEX_BIB_ENVIRONMENT: { + send = searchEnvironment(par, pend); + par = makeBibliography(buf, os, runparams, paragraphs, par, send); break; } case LATEX_PARAGRAPH: send = searchParagraph(par, pend); - par = makeParagraphs(buf, os, runparams, paragraphs, par,send); - break; - case LATEX_BIB_ENVIRONMENT: - // FIXME - ++par; + par = makeParagraphs(buf, os, runparams, paragraphs, par, send); break; } // FIXME??