CTAN update: markdown
Date: November 22, 2024 5:28:33 PM CET
Vít Starý Novotný submitted an update to the
markdown
package.
Version number: 3.9.0-0-g4f1abe21 2024-11-21
License type: lppl1.3c
Summary description: Converting and rendering markdown documents inside TeX
Announcement text:
Development: - Convert built-in LaTeX themes `witiko/dot` and `witiko/graphicx/http` into plain TeX themes. (#514, #522, #529) This allows these themes to be used in formats such as plain TeX and ConTeXt as well. Refactoring: - Remove dependencies on `ifthen`, `gobble`, and `catchfile`. (#514, #522, #529) - Store small built-in LaTeX themes `witiko/dot`, `witiko/graphicx/http`, and `witiko/tilde` in expl3 props in files `markdown.tex` and `markdown.sty`. (#514, #522, #529) This simplifies the distribution and installation of these themes, which were previously located in individual `.tex` and `.sty` files. The built-in plain TeX, LaTeX, and ConTeXt themes `witiko/markdown/defaults` are still distributed in individual files. This is because inlining these themes in files `markdown.tex`, `markdown.sty`, and `t-markdown.tex` would make it more difficult for users to copy and modify these themes without delaying updates to the Markdown package itself. Furthermore, these themes are large and storing/executing them from an expl3 prop would make it more difficult to determine the line numbers when errors occur. Fixes: - Protect renderers and renderer prototypes. (#465, #506) After this change, default renderers and renderer prototypes as well as renderers and renderers and prototypes defined using the keys `renderers` and `rendererPrototypes` of the command `\markdownSetup` are protected, which is usually preferable for typesetting. New keys `unprotectedRenderers` and `unprotectedRendererPrototypes` were also added to the command `\markdownSetup`. These keys define unprotected renderers and renderer prototypes, respectively, which are easier to expand and may be preferable for programming. Defaults: - Define default LaTeX renderer prototypes for table identifiers. (#525, suggested by @machitgarha, #528) This establishes a reliable method for authors to reference tables within Markdown: ``` tex \documentclass{article} \usepackage[ pipe_tables, table_attributes, table_captions, relative_references, ]{markdown} \begin{document} \begin{markdown} | Right | *Left* | Default | Center | |------:|:-------|-------------|:------:| | 12 | 12 | 12 | 12 | | 123 | 123 | **123** | 123 | | 1 | 1 | 1 | 1 | : Demonstration of *pipe table* syntax with the caption spreading over multiple lines. {#identifier .class-name key=value} Demonstration of a *relative reference*: See Table <#identifier>. \end{markdown} \end{document} ``` - Define default LaTeX renderer prototypes for bracketed spans. (discussed with @MacLotsen at TUG 2024 and with @TeXhackse at matrix.org, #528) This establishes a reliable method for authors to reference the last LaTeX counter that has been incremented in e.g. ordered lists. ``` tex \documentclass{article} \usepackage[ bracketed_spans, relative_references, start_number = false, ]{markdown} \begin{document} \begin{markdown} Demonstration of *bracketed spans* syntax: 1. First item 2. [Second item]{#second-item} 3. Third item Demonstration of a *relative reference*: See item <#second-item>. \end{markdown} \end{document} ``` - Use package LuaXML in default LaTeX renderer prototypes for content blocks, raw blocks, and inline raw spans. (#469, #532, co-authored by @michal-h21) This allows authors to render HTML fragments in their LaTeX documents: `````` tex \documentclass{article} \usepackage[content_blocks, raw_attribute]{markdown} \begin{filecontents}[overwrite, nosearch, noheader]{example_input.html} <b>foo</b> <i>bar</i> \end{filecontents} \begin{document} \begin{markdown} Raw text span: `<b>foo</b> <i>bar</i>`{=html} Raw code block: ``` {=html} <b>foo</b> <i>bar</i> ``` Content block: /example_input.html \end{markdown} \end{document} `````` Deprecation: - Remove support for TeX Live 2022. (da85e015, 8f2d25c7) This change also removes the Lua module `markdown-tinyyaml`, which has been scheduled for removal ever since the Lua module `tinyyaml` was uploaded to CTAN in TeX Live 2023.
This package is located at https://mirrors.ctan.org/macros/generic/markdown More information is at https://www.ctan.org/pkg/markdown
Thanks for the upload. For the CTAN Team Erik Braun
CTAN is run entirely by volunteers and supported by TeX user groups. Please join a user group or donate to one, see https://ctan.org/lugs
Development: - Convert built-in LaTeX themes `witiko/dot` and `witiko/graphicx/http` into plain TeX themes. (#514, #522, #529) This allows these themes to be used in formats such as plain TeX and ConTeXt as well. Refactoring: - Remove dependencies on `ifthen`, `gobble`, and `catchfile`. (#514, #522, #529) - Store small built-in LaTeX themes `witiko/dot`, `witiko/graphicx/http`, and `witiko/tilde` in expl3 props in files `markdown.tex` and `markdown.sty`. (#514, #522, #529) This simplifies the distribution and installation of these themes, which were previously located in individual `.tex` and `.sty` files. The built-in plain TeX, LaTeX, and ConTeXt themes `witiko/markdown/defaults` are still distributed in individual files. This is because inlining these themes in files `markdown.tex`, `markdown.sty`, and `t-markdown.tex` would make it more difficult for users to copy and modify these themes without delaying updates to the Markdown package itself. Furthermore, these themes are large and storing/executing them from an expl3 prop would make it more difficult to determine the line numbers when errors occur. Fixes: - Protect renderers and renderer prototypes. (#465, #506) After this change, default renderers and renderer prototypes as well as renderers and renderers and prototypes defined using the keys `renderers` and `rendererPrototypes` of the command `\markdownSetup` are protected, which is usually preferable for typesetting. New keys `unprotectedRenderers` and `unprotectedRendererPrototypes` were also added to the command `\markdownSetup`. These keys define unprotected renderers and renderer prototypes, respectively, which are easier to expand and may be preferable for programming. Defaults: - Define default LaTeX renderer prototypes for table identifiers. (#525, suggested by @machitgarha, #528) This establishes a reliable method for authors to reference tables within Markdown: ``` tex \documentclass{article} \usepackage[ pipe_tables, table_attributes, table_captions, relative_references, ]{markdown} \begin{document} \begin{markdown} | Right | *Left* | Default | Center | |------:|:-------|-------------|:------:| | 12 | 12 | 12 | 12 | | 123 | 123 | **123** | 123 | | 1 | 1 | 1 | 1 | : Demonstration of *pipe table* syntax with the caption spreading over multiple lines. {#identifier .class-name key=value} Demonstration of a *relative reference*: See Table <#identifier>. \end{markdown} \end{document} ``` - Define default LaTeX renderer prototypes for bracketed spans. (discussed with @MacLotsen at TUG 2024 and with @TeXhackse at matrix.org, #528) This establishes a reliable method for authors to reference the last LaTeX counter that has been incremented in e.g. ordered lists. ``` tex \documentclass{article} \usepackage[ bracketed_spans, relative_references, start_number = false, ]{markdown} \begin{document} \begin{markdown} Demonstration of *bracketed spans* syntax: 1. First item 2. [Second item]{#second-item} 3. Third item Demonstration of a *relative reference*: See item <#second-item>. \end{markdown} \end{document} ``` - Use package LuaXML in default LaTeX renderer prototypes for content blocks, raw blocks, and inline raw spans. (#469, #532, co-authored by @michal-h21) This allows authors to render HTML fragments in their LaTeX documents: `````` tex \documentclass{article} \usepackage[content_blocks, raw_attribute]{markdown} \begin{filecontents}[overwrite, nosearch, noheader]{example_input.html} <b>foo</b> <i>bar</i> \end{filecontents} \begin{document} \begin{markdown} Raw text span: `<b>foo</b> <i>bar</i>`{=html} Raw code block: ``` {=html} <b>foo</b> <i>bar</i> ``` Content block: /example_input.html \end{markdown} \end{document} `````` Deprecation: - Remove support for TeX Live 2022. (da85e015, 8f2d25c7) This change also removes the Lua module `markdown-tinyyaml`, which has been scheduled for removal ever since the Lua module `tinyyaml` was uploaded to CTAN in TeX Live 2023.
This package is located at https://mirrors.ctan.org/macros/generic/markdown More information is at https://www.ctan.org/pkg/markdown
Thanks for the upload. For the CTAN Team Erik Braun
CTAN is run entirely by volunteers and supported by TeX user groups. Please join a user group or donate to one, see https://ctan.org/lugs
markdown – Converting and rendering markdown documents inside TeX
The package provides facilities for the conversion of markdown markup to plain TeX. These are provided both in form of a Lua module and in form of plain TeX, LaTeX, and ConTeXt macro packages that enable the direct inclusion of markdown documents inside TeX documents.
Package | markdown |
Version | 3.9.0-0-g4f1abe21 2024-11-21 |
Copyright | 2009–2016 John MacFarlane, Hans Hagen 2016–2024 Vít Starý Novotný, Andrej Genčur |
Maintainer | Vít Starý Novotný |