aboutsummaryrefslogtreecommitdiff
path: root/test/writer.html4
AgeCommit message (Collapse)Author
2025-07-29HTML styles: prefix default styles with informative CSS comment (#11002)Albert Krewinkel
Closes #8819
2025-01-14HTML styles: fix style of hr so it works when printed (#10535)Hendrik Erz
Previously `background-color` was used to style the hr, but this gets ignored when printing. This commit uses `border-top` instead.
2023-08-13Fix tests for change to template in #8999.John MacFarlane
2023-07-26Add clause for svg to default CSS for HTML.John MacFarlane
Suggested at #8969.
2023-03-29styles.html: fix task-list styling in reveal.jsAlbert Krewinkel
Fixes: #8731
2023-01-13Support complex figures. [API change]Albert Krewinkel
Thanks and credit go to Aner Lucero, who laid the groundwork for this feature in the 2021 GSoC project. He contributed many changes, including modifications to the readers for HTML, JATS, and LaTeX, and to the HTML and JATS writers. Shared (Albert Krewinkel): - The new function `figureDiv`, exported from `Text.Pandoc.Shared`, offers a standardized way to convert a figure into a Div element. Readers (Aner Lucero): - HTML reader: `<figure>` elements are parsed as figures, with the caption taken from the respective `<figcaption>` elements. - JATS reader: The `<fig>` and `<caption>` elements are parsed into figure elements, even if the contents is more complex. - LaTeX reader: support for figures with non-image contents and for subfigures. - Markdown reader: paragraphs containing just an image are treated as figures if the `implicit_figures` extension is enabled. The identifier is used as the figure's identifier and the image description is also used as figure caption; all other attributes are treated as belonging to the image. Writers (Aner Lucero, Albert Krewinkel): - DokuWiki, Haddock, Jira, Man, MediaWiki, Ms, Muse, PPTX, RTF, TEI, ZimWiki writers: Figures are rendered like Div elements. - Asciidoc writer: The figure contents is unwrapped; each image in the the figure becomes a separate figure. - Classic custom writers: Figures are passed to the global function `Figure(caption, contents, attr)`, where `caption` and `contents` are strings and `attr` is a table of key-value pairs. - ConTeXt writer: Figures are wrapped in a "placefigure" environment with `\startplacefigure`/`\endplacefigure`, adding the features caption and listing title as properties. Subfigures are place in a single row with the `\startfloatcombination` environment. - DocBook writer: Uses `mediaobject` elements, unless the figure contains subfigures or tables, in which case the figure content is unwrapped. - Docx writer: figures with multiple content blocks are rendered as tables with style `FigureTable`; like before, single-image figures are still output as paragraphs with style `Figure` or `Captioned Figure`, depending on whether a caption is attached. - DokuWiki writer: Caption and "alt-text" are no longer combined. The alt text of a figure will now be lost in the conversion. - FB2 writer: The figure caption is added as alt text to the images in the figure; pre-existing alt texts are kept. - ICML writer: Only single-image figures are supported. The contents of figures with additional elements gets unwrapped. - HTML writer: the alt text is no longer constructed from the caption, as was the case with implicit figures. This reduces duplication, but comes at the risk of images that are missing alt texts. Authors should take care to provide alt texts for all images. Some readers, most notably the Markdown reader with the `implicit_figures` extension, add a caption that's identical to the image description. The writer checks for this and adds an `aria-hidden` attribute to the `<figcaption>` element in that case. - JATS writer: The `<fig>` and `<caption>` elements are used write figures. - LaTeX writer: complex figures, e.g. with non-image contents and subfigures, are supported. The `subfigure` template variable is set if the document contains subfigures, triggering the conditional loading of the *subcaption* package. Contants of figures that contain tables are become unwrapped, as longtable environments are not allowed within figures. - Markdown writer: figures are output as implicit figures if possible, via HTML if the `raw_html` extension is enabled, and as Div elements otherwise. - OpenDocument writer: A separate paragraph is generated for each block element in a figure, each with style `FigureWithCaption`. Behavior for single-image figures therefore remains unchanged. - Org writer: Only the first element in a figure is given a caption; additional block elements in the figure are appended without any caption being added. - RST writer: Single-image figures are supported as before; the contents of more complex images become nested in a container of type `float`. - Texinfo writer: Figures are rendered as float with type `figure`. - Textile writer: Figures are rendered with the help of HTML elements. - XWiki: Figures are placed in a group. Co-authored-by: Aner Lucero <[email protected]>
2023-01-13HTML style template: put Consolas before Lucida Console for code font.John MacFarlane
This is to prevent Lucida Console from being used on Windows, where there seems to be a spacing issue in some applications, with boldface glyphs wider than regular ones. Closes #8543.
2023-01-06Add `code { hyphens: manual; }` to HTML and EPUB CSS.John MacFarlane
Closes #8530.
2022-11-09HTML template: remove default font size, line height...John MacFarlane
...and font family in default inline css. Closes #8423 (see comments there for motivation). `mainfont`, `fontsize`, and `linestretch` can still be used as before; the only difference is that we no longer provide opinionated defaults. This commit also adds a `maxwidth` variable that sets `max-width`; if not set, 36em is used as a default.
2022-11-04Change default background color of PDFs generated via HTML (#8422)Marcin Serwin
* Change default background color of PDFs generated via HTML * Update tests
2022-08-22HTML writer: revert to using `width` property for column widthsAlbert Krewinkel
The default `flex` and `overflow-x` properties of a column are set to `auto`. In combination, these changes allow to get good results when using columns with or without explicit widths.
2022-08-03Improve default CSS for task lists.John MacFarlane
This ensures that there is a space between the checkbox and the following content and that subsequent content lines up. Closes #8151. Supersedes and closes #8163.
2022-08-01HTML: use CSS flex boxes for columns.Albert Krewinkel
This allows to render an arbitrary number of columns, while the previous approach assumed exactly two columns.
2022-07-31Fix tests for d2bd9abc4d5e9b6b4a6414fd010cdb5995f32935John MacFarlane
2022-01-16CSS in HTML template: adjust #TOC and h1 on mobile (#7835)Mauro Bieg
2022-01-10HTML writer: don't break attributes values when wrapping.John MacFarlane
2021-12-22HTML writer: make line breaks more consistent.John MacFarlane
- With `--wrap=none`, we now output line breaks between block-level elements. Previously they were omitted entirely, so the whole document was on one line, unless there were literal line breaks in pre sections. This makes the HTML writer's behavior more consistent with that of other writers. - Put newline after `<dd>`. - Put newlines after block-level elements in footnote section.
2021-12-22Add text wrapping to HTML output.John MacFarlane
Previously the HTML writer was exceptional in not being sensitive to the `--wrap` option. With this change `--wrap` now works for HTML. The default (as with other formats) is automatic wrapping to 72 columns. A new internal module, T.P.Writers.Blaze, exports `layoutMarkup`. This converts a blaze Html structure into a doclayout Doc Text. In addition, we now add a line break between an `img` tag and the associated `figcaption`. Note: Output is never wrapped in `writeHtmlStringForEPUB`. This accords with previous behavior since previously the HTML writer was insensitive to `--wrap` settings. There's no real need to wrap HTML inside a zipped container. Note that the contents of script, textarea, and pre tags are always laid out with the `flush` combinator, so that unwanted spaces won't be introduced if these occur in an indented context in a template. Closes #7764.
2021-09-10Support `--reference-location` for HTML output (#7461)Francesco Mazzoli
The HTML writer now supports `EndOfBlock`, `EndOfSection`, and `EndOfDocument` for reference locations. EPUB and HTML slide show formats are also affected by this change. This works similarly to the markdown writer, but with special care taken to skipping section divs with what regards to the block level. The change also takes care to not modify the output if `EndOfDocument` is used.
2021-07-05document-css: reset overflow-wrap on code blocksMauro Bieg
fixes #7423
2020-11-02Default CSS tweaks.John MacFarlane
These changes restore the 20px font size while increasing readibility by reducing line width. (The number of words per line is now similar to that of pandoc's default LaTeX/PDF output.) With the narrower lines, we also need less interline and interparagraph space, so the content becomes more compact and skimmable: - Change default font size back to 20px. - Set font-size for print media to 12pt. - Reduce interline space. - Reduce interparagraph space. - Reduce line width. - Remove the special `line-height: 1` for table cells, which I had suggested but which now seems a mistake. - Remove the special line-height for pre. - Ensure that there is a bit more space before a heading than after. - Slightly reduced space after title header.
2020-11-01Default CSS: avoid padding and color if monobackgroundcolor not given.John MacFarlane
This makes the default more austere, while putting the padded, colored code elements within easy reach.
2020-11-01Updates to default CSS (#6786)Mauro Bieg
- Fix margin before codeblock - Add `monobackgroundcolor` variable, making the background color and padding of code optional. - Ensure that backgrounds from highlighting styles take precedence over monobackgroundcolor - Remove list markers from TOC - Add margin-bottom where needed - Remove italics from blockquote styling - Change borders and spacing in tables to be more consistent with other output formats - Style h5, h6 - Decrease root font-size to 18px - Update tests for styles.html changes - Add CSS example to MANUAL
2020-09-19Add CSS to default HTML template (#6601)Mauro Bieg
2020-05-18Use CSS in favor of <br> for display math (#6372)Lila
Some CSS to ensure that display math is displayed centered and on a new line is now included in the default HTML-based templates; this may be overridden if the user wants a different behavior.
2019-12-05HTML-based templates: Add CSS to suppress bullet on unordered task lists.John MacFarlane
2019-09-08Replace Element and makeHierarchical with makeSections.John MacFarlane
Text.Pandoc.Shared: + Remove `Element` type [API change] + Remove `makeHierarchicalize` [API change] + Add `makeSections` [API change] + Export `deLink` [API change] Now that we have Divs, we can use them to represent the structure of sections, and we don't need a special Element type. `makeSections` reorganizes a block list, adding Divs with class `section` around sections, and adding numbering if needed. This change also fixes some longstanding issues recognizing section structure when the document contains Divs. Closes #3057, see also #997. All writers have been changed to use `makeSections`. Note that in the process we have reverted the change c1d058aeb1c6a331a2cc22786ffaab17f7118ccd made in response to #5168, which I'm not completely sure was a good idea. Lua modules have also been adjusted accordingly. Existing lua filters that use `hierarchicalize` will need to be rewritten to use `make_sections`.
2019-09-05Add div.hanging-indent CSS to HTML templates.John MacFarlane
2019-09-05Add partial styles.html in HTML5 template.John MacFarlane
Avoid duplication in HTML templates by using styles.html partial. Change indentation of styles in template.
2019-05-28HTML writer: emit empty alt tag in figures (#5518)Mauro Bieg
The same text is already in the <figcaption> and screen-readers would read it twice, see #4737
2019-04-30HTML: prevent gratuitious emojification on iOS.John MacFarlane
iOS chooses to render a number of Unicode entities, including '↩', as big colorful emoji. This can be defeated by appending Unicode VARIATION SELECTOR-15'/'VARIATION SELECTOR-16'. So we now append this character when escaping strings, for both '↩' and '↔'. If other characters prove problematic, they can simply be added to needsVariationSelector. Closes #5469.
2019-02-25Shared.compactify: Avoid mixed lists.John MacFarlane
This improves on the original fix to #5285 by preventing other mixed lists (lists with a mix of Plain and Para elements) that were allowed given the original fix.
2018-09-19Markdown reader: distinguish autolinks in the AST.John MacFarlane
With this change, autolinks are parsed as Links with the `uri` class. (The same is true for bare links, if the `autolink_bare_uris` extension is enabled.) Email autolinks are parsed as Links with the `email` class. This allows the distinction to be represented in the URI. Formerly the `uri` class was added to autolinks by the HTML writer, but it had to guess what was an autolink and could not distinguish `[http://example.com](http://example.com)` from `<http://example.com>`. It also incorrectly recognized `[pandoc](pandoc)` as an autolink. Now the HTML writer simply passes through the `uri` attribute if it is present, but does not add anything. The Textile writer has been modified so that the `uri` class is not explicitly added for autolinks, even if it is present. Closes #4913.
2017-12-26HTML writer: Use br elements in line blocks...John MacFarlane
instead of relying on CSS. Closes #4162. HTML-based templates have had the custom CSS for div.line-block removed. Those maintaining custom templates will want to remove this too. We still enclose line blocks in a div with class line-block.
2017-12-03Include default CSS for 'underline' class in HTML-based templates.John MacFarlane
2017-11-02Improved support for columns in HTML.John MacFarlane
* Move as much as possible to the CSS in the template. * Ensure that all the HTML-based templates (including epub) contain the CSS for columns. * Columns default to 50% width unless they are given a width attribute. Closes #4028.
2017-10-31HTML Writer: consistently use dashed class-namesmb21
see #3556
2017-08-14Implement multicolumn support for slide formats.John MacFarlane
The structure expected is: <div class="columns"> <div class="column" width="40%"> contents... </div> <div class="column" width="60%"> contents... </div> </div> Support has been added for beamer and all HTML slide formats. Closes #1710. Note: later we could add a more elegant way to create this structure in Markdown than to use raw HTML div elements. This would come for free with a "native div syntax" (#168). Or we could devise something specific to slides
2017-05-25Added `spaced_reference_links` extension.John MacFarlane
This is now the default for pandoc's Markdown. It allows whitespace between the two parts of a reference link: e.g. [a] [b] [b]: url This is now forbidden by default. Closes #2602.
2017-04-25HTML line block: Use class instead of style attribute.John MacFarlane
We now issue `<div class="line-block">` and include a default definition for `line-block` in the default templates, instead of hard-coding a `style` on the div. Closes #1623.
2017-04-03Add class to footnote back referencesTimm Albers
The HTML writer now also adds the class footnoteBack to back references of footnotes. This allows for easier CSS styling.
2017-03-04Regularized CSS in html/epub/html slide templates.John MacFarlane
All templates now include `code{white-space: pre-wrap}` and CSS for `q` if `--html-q-tags` is used. Previously some templates had `pre` and others `pre-wrap`; the `q` styles were only sometimes included. See #3485.
2017-03-04templates: CSS for .smallcaps, closes #1592 (#3485)Mauro Bieg
2017-02-04Moved tests/ -> test/.John MacFarlane