Age | Commit message (Collapse) | Author | Files | Lines |
|
Table column properties can optionally specify a column's width with
which it is displayed in the buffer. Some exporters, notably the ODT
exporter in org-mode v9.0, use these values to calculate relative column
widths. The org reader now implements the same behavior.
Note that the org-mode LaTeX and HTML exporters in Emacs don't support
this feature yet, which should be kept in mind by users who use the
column widths parameters.
Closes: #3246
|
|
This fixes a regression introduced in
7e5220b57c5a48fabe6e43ba270db812593d3463.
|
|
Images which are the only element in a paragraph can still be given HTML
attributes, even if the image does not have a caption and is hence not a figure.
The following will add set the `width` attribute of the image to `50%`:
#+ATTR_HTML: :width 50%
[[file:image.jpg]]
Closes: #3222
|
|
Special blocks (i.e. blocks with unrecognized names) can be prefixed
with an `ATTR_HTML` block attribute. The attributes defined in that
meta-directive are added to the `Div` which is used to represent the
special block.
Closes: #3182
|
|
The `todo` export option allows to toggle the inclusion of TODO keywords
in the output. Setting this to `nil` causes TODO keywords to be dropped
from headlines. The default is to include the keywords.
|
|
Headlines can have optional todo-markers which can be controlled via the
`#+TODO`, `#+SEQ_TODO`, or `#+TYP_TODO` meta directive. Multiple such
directives can be given, each adding a new set of recognized todo-markers.
If no custom todo-markers are defined, the default `TODO` and `DONE`
markers are used.
Todo-markers are conceptually separate from headline text and are hence
excluded when autogenerating headline IDs.
The markers are rendered as spans and labelled with two classes: One
class is the markers name, the other signals the todo-state of the
marker (either `todo` or `done`).
|
|
|
|
@tarleb this is an interesting one, see the build log in
https://travis-ci.org/jgm/pandoc/jobs/168612017
It only failed on ghc 7.8; I think this must have to do with
the change making Monad a superclass of Applicative, hence
this change.
|
|
A `#+CAPTION` attribute before an image is enough to turn an image into a
figure. This wasn't the case because the `parseFromString` function, which
processes the caption value, would fail on empty values. Adding a newline
character to the caption value fixes this.
Fixes: #3161
|
|
Markup-features focusing on lines as distinctive part of the markup are read
into `LineBlock` elements. This currently means line blocks in reStructuredText
and Markdown (the latter only if the `line_block` extension is enabled), the
`linegroup`/`line` combination from the Docbook 5.1 working draft, and Org-mode
`VERSE` blocks.
|
|
An empty verse line should not result in `Str ""` but in `mempty`.
|
|
Some source files keep imports in tidy groups. Changing
`Text.Pandoc.Compat.Monoid` to `Data.Monoid` could upset that. This
restores tidiness.
|
|
This was only necessary for GHC versions with base below 4.5
(i.e., ghc < 7.4).
|
|
Sections the `unnumbered` property should, as the name implies, be
excluded from the automatic numbering of section provided by some output
formats. The Pandoc convention for this is to add an "unnumbered" class
to the header. The reader treats properties as key-value pairs per
default, so a special case is added to translate the above property to a
class instead.
Closes #3095.
|
|
The `author` option controls whether the author should be included in
the final markup. Setting `#+OPTIONS: author:nil` will drop the author
from the final meta-data output.
|
|
Parsing of meta-data is well separable from other block parsing tasks.
Moving into new module to get small files and clearly arranged code.
|
|
Org reader: preserve indentation of verse lines
|
|
Image sources as those in plain images, image links, or figures, must be
proper URIs or relative file paths to be recognized as images. This
restriction is now enforced for all image sources.
This also fixes the reader's usage of uncleaned image sources, leading
to `file:` prefixes not being deleted from figure
images (e.g. `[[file:image.jpg]]` leading to a broken image `<img
src="file:image.jpg"/>)
Thanks to @bsag for noticing this bug.
|
|
Leading spaces in verse lines are converted to non-breaking spaces, so
indentation is preserved.
This fixes #3064.
|
|
Some less-than-smart code required a pragma switching of overlapping
pattern warnings in order to compile seamlessly. Using view patterns
makes the code easier to read and also doesn't require overlapping
pattern checks to be disabled.
|
|
The depths of headlines can be modified using the `H` option. Deeper
headlines will be converted to lists.
|
|
Export option parsing is distinct enough from general block parsing to
justify putting it into a separate module.
|
|
Handling of archived trees can be modified using the `arch` option.
Archived trees are either dropped, exported completely, or collapsed to
include just the header when the `arch` option is nil, non-nil, or
`headline`, respectively.
|
|
Comment trees were handled after parsing, as pattern matching on lists
is easier than matching on sequences. The new method of reading
documents as trees allows for more elegant subtree removal.
|
|
Emacs org-mode is based on outline-mode, which treats documents as trees
with headlines are nodes. The reader is refactored to parse into a
similar tree structure. This simplifies transformations acting on
document (sub-)trees.
|
|
Specific newtype definitions are used to replace stringly typing of tags
and properties. Type safety is increased while readability is improved.
|
|
Figure labels given as `#+LABEL: thelabel` are used as the ID of the
respective image. This allows e.g. the LaTeX to add proper `\label`
markup.
This fixes half of #2496 and #2999.
|
|
Partial functions like `head` lead to avoidable errors and should be
avoided. They are replaced with total functions.
This fixes #2991.
|
|
Parsing of special strings (like '...' as ellipsis or '--' as en dash)
can be toggled using the `-` option.
|
|
Parsing of emphasized text can be toggled using the `*` option. This
influences parsing of text marked as emphasized, strong, strikeout, and
underline. Parsing of inline math, code, and verbatim text is not
affected by this option.
|
|
Reading of smart quotes can be toggled using the `'` option.
|
|
The `OrgParserState` contained both an `orgStateMeta` and
`orgStateMeta'` field, the former for plain meta information and the
latter for F-monad wrapped meta info. The plain meta info is only used
to make `OrgParserState` an instance of the `HasMeta` class, which in
turn is never used in the reader. The (F Meta) version is hence renamed
to the "un-primed" version while the other one is dropped.
|
|
Some code was duplicated (copy-pasted) or placed in an inappropriate
module during the modularization refactoring. Those functions are moved
into a `Shared` module, as was originally intended but forgotten.
Better documentation of the respective functions is a positive
side-effect.
|
|
Org-mode version 9 usees a new syntax for export blocks. Instead of
`#+BEGIN_<FORMAT>`, where `<FORMAT>` is the format of the block's
content, the new format uses `#+BEGIN_export <FORMAT>` instead. Both
types are supported.
|
|
- Reorder functions, grouping related functions together.
- Demote simple functions to local functions if they are used just once.
- Rename and document functions to increase code readability.
- Fix handling of whitespace in blocks, allowing content to be indented
less then the block header.
|
|
Having a function starting with `parse` in a parsing library is overly
redundant. Let's use a nicer, shorter name more in line with the rest
of the library.
|
|
Block parsing code is moved to a separate module.
This is part of the Org-mode reader cleanup effort.
|