Releases: kristapsdz/lowdown
Version 3.0.1
Flesh out -tmdoc to handle macros flush against other words and punctuation, e.g., (*-abcd*):.
Properly format -tmdoc and -tman compact lists, including nested compact lists.
Version 3.0.0
Added initial support for outputting modern Unix manpages with -tmdoc. This is intended as a replacement for the legacy -tman. Supplement this with --roff-manpage, which accepts a markdown file that looks like a Unix manpage and attempts to convert it into a well-formed mdoc or man. Most of this is purely syntactic, but several sections in Unix manpages (e.g., the NAME and SYNOPSIS) have a rigorous syntax that this mode attempts to output.
Several minor (but breaking) changes to the API to take up fewer bits in the oflags field of struct lowdown_opts: consolidate all XXX_NOLINK, XXX_RELLINK, and XXX_SHORTLINK as LOWDOWN_NOLINK, LOWDOWN_RELLINK, and LOWDOWN_SHORTLINK. This only applies to the LOWDOWN_MAN, LOWDOWN_MS, LOWDOWN_MDOC, and LOWDOWN_TERM output modes. The earlier LOWDOWN_NROFF output mode is deprecated and is now an alias for LOWDOWN_MS, which should be used moving forward.
Do the same with the various XXX_SKIP_HTML bits.
Deprecate the lowdown_nroff_xxx in favour of lowdown_roff_xxx. The functions remain as deprecated and passing through to the new equivalents.
Deprecate the macro variables LOWDOWN_NROFF_GROFF LOWDOWN_NROFF_NUMBERED LOWDOWN_NROFF_MANPAGE LOWDOWN_NROFF_ENDNOTES in favour of their ROFF names. The old macros are aliased for compatibility.
Library bumped from version 2 to 3 for those reasons.
Tweak the behaviour of -tterm and --term-no-links (or --term-no-rellinks) with respect to embedded images and no text so that there's always a clickable link and image component, if possible.
Add --roff-no-rellinks, similar to --term-no-rellinks. Respect --roff-short-links in more cases as well.
Change the behaviour of -tms and -tman where --roff-no-links (or the new --roff-no-rellinks) will have consistent behaviour even if --roff-traditional is not specified.
Fix that, when using lowdown-diff for the terminal, resetting the colour after an insertion or delete would trigger the black colour, which obviously doesn't work with a black background. Instead, use the default colour.
When generating header identifiers in -thtml, incorporate codespan text as well. This is the same as pandoc's default behaviour as well.
Version 2.0.4
Hot-fix 2.0.3 with correct Mac OS X conventions in shared library versioning.
Version 2.0.3
Automatically create the correct shared library type ("dylib") on Mac OS X. Fix how image links within links have their link content displayed using OSC8 encoding in -tterm mode Fix how -tlatex, -tms, and -tman escape URLs or otherwise do percent and space encoding.
Version 2.0.2
Fix table separators in -tterm. Fix running make regress without a UTF-8 locale set, which would cause different output for the -tterm tests.
Version 2.0.0
Formalise using semantic versioning (semver). The prior version (1.4.0) introduced API changes that were incompatible: future versions will follow semver to prevent confusion.
Adds some missing template files to the share directory.
Fix how links in -tterm have their ANSI escapes closed out.
Lastly, to address downstream breakage when using nested Mac OS X sandboxes, a special argument SANDBOX_INIT_ERROR_IGNORE value may be passed during the make build sequence. If set to always, errors from the underlying Mac OS X sandbox are always ignored. If set to any other value, the user must set the environment variable SANDBOX_INIT_ERROR_IGNORE to ignore these errors. This is only relevant to Mac OS X builds with the sandbox feature enabled during configuration.
Version 1.4.0
Deprecate the --nroff argument prefix in favour of --roff, so for example --nroff-traditional becomes --roff-traditional. The old prefix is retained and will not be removed. Deprecated old forms (e.g., --nroff-no-groff) did not get a replacement.
Deprecate --term-nolinks and --term-shortlinks in favour of --term-no-links and --term-short-links, respectively. The old forms are retained and will not be removed.
Add --term-hpadding and clarify the roles of --term-cols, --term-hmargin, and --term-width. Also document auto argument to --term-hmargin. The default output looks the same as it did before, but --term-hpadding=0 can now omit any leading characters.
Add --term-no-rellinks to omit only relative links. This is useful because terminal output doesn't have a concept of a "relative" link.
Add passing literal strings as initial values to --template.
Document --term-hmargin=auto, previously undocumented as centre.
Use UTF-8 sequences for -tterm lines: horizontal lines, tables, block vertical lines, etc. Simplify the image link output to look a little more like pandoc.
API change (hence the minor version bump): lowdown_tree_rndr(3) now also accepts a pointer to the options. This is to enable debugging of the parse tree of --template. Now, passing -s --template to -ttree will produce the template's parse tree alongside the parsed content of the input.
API change (hence the minor version bump): moving terminal-specific members of lowdown_opts into lowdown_opts_term.
Version 1.3.2
Add --template functionality to -tman, -tms, and -tgemini.
Add and(), or(), and not() as initial values to template expressions. These allow for ifdef to test for multiple values at once.
Document all escape*() modifiers.
Recognise a special modifier -- at the end of control statements (e.g., $endfor--$, which consumes up and and including the end-of-line. This is necessary for integrating templates with roff-based languages that are line sensitive.
Clarify that any empty statement, even with only white-space, evaluates to the $ literal. This simplifies the parser and reduces corner cases. (Earlier, an empty statement with white-space was ignored, but an empty statement without white-space was a literal $).
Version 1.3.1
Add --template functionality to -tlatex.
Add and() and or() as initial values to template expressions. These allow for ifdef to test for multiple values at once.
Version 1.3.0
Specify that characters not complying with the metadata key specification are replaced with underscores (which are allowed by the metadata key character restrictions) instead of as curently with question marks (which are not valid metadata key characters).
Add new --template functionality, initially for -thtml. This is still experimental, so transformations and syntax might change. It allows for templating the output HTML file.