Skip to content

Releases: Witiko/markdown

The latest version

18 Nov 06:39
80a1a29
Compare
Choose a tag to compare
The latest version Pre-release
Pre-release
Merge pull request #506 from Witiko/feat/protect-renderers

Protect renderers and renderer prototypes

3.8.1

03 Nov 22:41
bbed72f
Compare
Choose a tag to compare

Fixes:

3.8.0

31 Oct 21:28
a4bab83
Compare
Choose a tag to compare

Development:

  • Add support for versioned themes and add new Lua option experimental. (#466, #512, #514, matrix.org reviewed by @TeXhackse, #521)

    The option experimental enables experimental features that are planned to be the new default in the next major release of the Markdown package.

    At the moment, this just means that the version experimental of the theme witiko/markdown/defaults will be loaded and warnings for hard-deprecated features will become errors. However, the effects may extend to other areas in the future as well.

  • Add first-class support for YAML documents. (#452, #473, #524)
    • Add plain TeX macros \yamlSetup, \yamlInput, \yamlBegin, and \yamlEnd.
    • Add LaTeX environment yaml and redefine command \yamlInput for LaTeX.
    • Add ConTeXt commands \setupyaml, \inputyaml, \startyaml, and \stopyaml.

Documentation:

Defaults:

  • Improve the compatibility of the default LaTeX packages with PDF tagging: (#466, #512, #514, #521, reported and consulted by @u-fischer)

    • In TeX engines other than LuaTeX, use the package soul instead of the package soulutf8 in TeX Live ≥ 2023.

    • In LuaLaTeX, use the package lua-ul for strike-through/mark renderer prototypes instead of the package soul.

    • Use the package enumitem for tight and fancy lists instead of the package paralist.

      This is a breaking change that is marked as experimental. To enable it, either use the package option experimental or specify any test phase in the document metadata:

      1. \usepackage[experimental]{markdown}
      2. \DocumentMetadata{testphase=phase-III}
  • Define LaTeX renderers for image identifiers. (#520, suggested by @jurf, 6f3dcd0, 478530f, matrix.org)

    This establishes a reliable method for authors to reference figures within Markdown:

    \documentclass{article}
    \usepackage[link_attributes, relative_references]{markdown}
    \begin{document}
    \begin{markdown}
    
    ![example image](example-image "An example image"){#example-image-id}
    
    See Figure <#example-image-id>.
    
    \end{markdown}
    \end{document}
  • Set correct category codes for version 3 of the package minted. (3998093)

Continuous Integration:

  • Only use self-hosted runners for the quick CI in pull requests. For full CI outside pull requests, use GitHub-hosted runners. (c269742, matrix.org)

3.7.1

30 Sep 15:24
8e72680
Compare
Choose a tag to compare

Development:

  • Remove dependency on UnicodeData.txt. (#400, #458 #486, #492, #499)

    This change improves the speed of parsing markdown input by up to 25% for a cold conversion run and makes life easier for users of TeX distributions other than TeX Live, such as MikTeX and ConTeXt Standalone, where UnicodeData.txt may not be as easily available. This change also adds a new file markdown-unicode-data.lua, which must be properly installed with the rest of the Markdown package.

  • Add renderers warning and error that represent warnings and errors produced by the markdown parser. (#452, #473, #496)

Fixes:

  • Properly load LaTeX themes when theme or import is used in \usepackage[...]{markdown}. (#471, #498)
  • Prevent endless loop when setting deprecated jekyllDataString renderer (prototype). (#500)
  • Correctly handle backslashes in \markdownOptionOutputDir on Windows. (#492, #500, reported by @l0th3r)
  • Fix hard line breaks in blockquotes. (#494, #495, reported by @l0th3r, #496, contributed by @lostenderman)

Deprecation:

  • Soft-deprecate the hybrid option. (#470, #504, 546faa8)

    Instead of using the hybrid option, consider one of the following better alternatives for mixing TeX and markdown:

    • With the contentBlocks option, authors can move large blocks of TeX code to separate files and include them in their markdown documents as external resources.
    • With the rawAttribute option, authors can denote raw text spans and code blocks that will be interpreted as TeX code.
    • With options texMathDollars, texMathSingleBackslash, and texMathDoubleBackslash, authors can freely type TeX math between dollar signs or backslash-escaped brackets.

    Soft-deprecated features will never be removed but using them prints a warning and is discouraged.

3.7.0

30 Aug 10:56
98dece1
Compare
Choose a tag to compare

Development:

  • Add renderer jekyllDataProgrammaticString for processing YAML string scalars that do not contain markdown markup and are not intended for typesetting. (istqborg/istqb_product_base#46, #440, #451, sponsored by @istqborg)
  • Add option ensureJekyllData for processing standalone YAML files. (#452, #473, sponsored by @istqborg)
  • Support user-defined LaTeX environments with LaTeX markup. (#20, #477, suggested by @cdupont)

Fixes:

Speed improvements:

  • Precompile snippets to improve the speed of setting them. (#467, #479, inspired by the TUG 2024 talk by @josephwright)
  • Use an optimized parser to determine Unicode punctuation. (#458, #474, #482, 4c1a7de, co-authored by @Yggdrasil128, sponsored by @istqborg)
    This improves the speed of parsing markdown input by up to 500%.
  • Enable option eagerCache by default. (#468, #490, sponsored by @istqborg)
    This improves the speed by up to 25% for large documents with many markdown fragments that require multiple compilation runs.
  • Prevent loading the full Markdown package when converting cached markdown fragments. (#487, #491, 40f0803, 6609d43, sponsored by @istqborg)
    This significantly improves the speed for large documents with many markdown fragments that require multiple compilation runs in pdfTeX.

Deprecation:

Continuous Integration:

Experiments:

3.6.2

14 Jul 08:55
6c30af7
Compare
Choose a tag to compare

Fixes:

Documentation:

Continuous Integration:

  • Only test latest TeX Live in pull requests. (81927ca)

Unit Tests:

  • Test the outputDir plain TeX option. (#457, #459)

Libraries:

  • Update tinyyaml to v0.4.4-1-g197632c. (1e83ac9)

3.6.1

20 Jun 18:11
5a45a92
Compare
Choose a tag to compare

Fixes:

Documentation:

  • Improve the documentation of portable installation. (#444, 9afac05, contributed by @l0th3r)
  • Document that the Markdown package can be installed from GitHub releases. (#449, #450, reported by @nopria)

Continuous Integration:

Defaults:

  • Fix default definitions for fancy tight ordered lists. (#446, f978e81, reported by @l0th3r)

3.6.0

28 May 10:40
83c781b
Compare
Choose a tag to compare

Development:

  • Add Lua options unicodeNormalization and unicodeNormalizationForm for normalizing markdown text using Unicode normalization. (#434, #442, sponsored by @istqborg)

Fixes:

  • Make \markdownInput search in \l_file_search_path_seq. (#443, reported by @robertjlee)

Documentation:

Fixes:

  • Correctly sort YAML map keys with mixed types. (#433, #441)

3.5.0

29 Apr 20:54
fd01a25
Compare
Choose a tag to compare

Development:

Default Renderer Prototypes:

3.4.3

04 Apr 07:59
e2c6be1
Compare
Choose a tag to compare

Fixes:

Documentation:

  • Add slides from the defense of projects MUNI/33/1654/2022 and MUNI/33/1658/2022 to README.md. (49f01cc)
  • Remove <mroot> from MathML in the user manual. (#420, #422, contributed by @quark67)

Contributed Software:

  • Make the documentation of contributions more detailed. (3f92816)

Docker:

Continuous Integration:

  • Style-check tabs and trailing spaces in markdown.dtx. (a0c941c)