Skip to content

Releases: facelessuser/pymdown-extensions

9.3

19 Mar 16:52
Compare
Choose a tag to compare
9.3

9.3

  • NEW: B64: Allow SVG to be encoded and inlined.
  • NEW: PathConverter: Add option to use file:// prefix on absolute paths.
  • FIX: Highlight: Ensure that extend_pygments_lang is not case sensitive regarding language names.

9.2

11 Feb 00:47
Compare
Choose a tag to compare
9.2

9.2

  • NEW: Drop Python 3.6 support and formally add Python 3.10 support.
  • NEW: Highlight: Add pygments_lang_option to enable attaching language classes to Pygments code blocks.
  • NEW: SuperFences: Custom fence validators and formatters can now be forced to raise an exception by raising a
    SuperFencesException.
  • NEW: Keys: Add power and fingerprint keys.
  • FIX: SuperFences: Fix case where custom fence in a blockquote was not gracefully handled.
  • FIX: Arithmatex: fix issue where if you limit the inline or block syntax to specific input types, access to
    certain matched groups could cause an error.

9.1

14 Nov 17:13
Compare
Choose a tag to compare
9.1

9.1

  • NEW: Highlight: If linenums is enabled globally via the highlight extension, and a code block specifies a line
    number of zero (e.g. SuperFences), disable line numbers for that code block.
  • FIX: Snippets: Add missing documentation for auto_append feature that was added in 8.2.
  • FIX: Highlight: When attr_list is enabled, attributes were not properly added to Pygments code blocks in the
    table format. (#1505)

9.0

29 Sep 23:42
Compare
Choose a tag to compare
9.0

9.0

Please see Migration Notes for details on upgrading to 9.0.

  • NEW: Arithmatex: Wrap MathJax "script" format (non-preview) with a container element just like all other
    Arithmatex output formats.
  • NEW: Arithmatex: MathJax (non-generic) form's container element now has the arithmatex class added just like
    everywhere else.
  • NEW: Arithmatex: Add options to override HTML element container type of inline and block math.
  • NEW: Arithmatex: Add new formatter functions intended to replace old math fenced/inline block formatters. New
    formatter functions are configurable. All others are marked as deprecated and will be removed at some future date.
  • NEW: Emoji: Upgraded Twitter emoji database to support latest emoji. It is a known issue that Twitter has
    :man_in_santa_hat: and :mx_claus: backwards -- same for :mrs_claus: and :woman_in_santa_hat:. That is on
    Twitter's side, not ours.
  • NEW: Highlight: Add support for the Pygments option linespans.
  • NEW: Highlight: Add support for Pygments option lineanchors.
  • NEW: Highlight: Add support for Pygments option anchorlinenos.
  • NEW: Highlight: Remove legacy_no_wrap_code option.
  • NEW: Add support for generating title headers pulled from the Pygments lexer for code blocks. Feature can be
    enabled via the new auto_title option. If a specific name is not preferred, these names can be overridden via
    a user defined mapping called auto_title_map.
  • NEW: SuperFences: Allow setting a title, or overriding an auto title via the new title option in a fenced code
    header.
  • NEW: SuperFences: Allow adding ID and arbitrary data- attributes on Pygments code blocks. The latter requires
    the attr_list extension to be enabled.
  • NEW: SuperFences: Removed old deprecated option highlight_code which no longer did anything.
  • NEW: SuperFences: Remove legacy code meant to help with transitioning to new custom fence function format.
  • NEW: Tabbed: New alternate style that allows for a scrollable tabs if they overflow. Feature is experimental, see
    docs for more information.
  • NEW: Slugs: Add new configurable slugify function that aims to replace all other slugify methods. Deprecate
    uslugify, uslugify_encoded, uslugify_case, uslugify_case_encoded, gfm, and gfm_encoded. slugify takes
    parameters returning a function that performs the desired slug handling. slugify adds new options case="fold" for
    case folding and normalize='<normalize format here>' (uses NFC by default).
  • FIX: BetterEm: Fix some complex cases related to "smart" logic. (#1413)
  • FIX: EscapeAll: Fix issue where an escaped HTML entity may end up with incorrect slug and incorrect table of
    content entry.
  • FIX: Highlight: Fix issue that occurs when showing only nth line numbers and using pymdownx-inline. Lines not
    showing a line number would not render with the proper leading space.

8.2

08 May 16:23
Compare
Choose a tag to compare
8.2

8.2

  • NEW: Snippets: now accepts a list of base paths which will be resolved in the order they are specified.
    Compatibility is present with legacy behavior, and a single string path will still be accepted.
  • NEW: Snippets: allow for specifying certain snippets to auto-append to every file. Useful for appending
    abbreviations, reference links, etc.
  • NEW: Snippets: a snippet base path can be a full path to a file. When a base path is a full path to a file, only
    that file will be included from the specified folder. This allows for targeting a one off file outside of the normal
    snippet paths(s).
  • NEW: MagicLink: add GitHub Discussions support to MagicLink. Can now use ?<num> to link discussions. Full
    discussion links will also be shortened if shortening is enabled. (#1187)
  • NEW: MagicLink: add new normalize_issue_symbols option to make issues, pull request, and discussion links all
    render with # instead of #, !, and ? respectively. Input syntax is still the same. Great if you want a GitHub
    style look where all issue types are just rendered with #.
  • FIX: MagicLink: documentation will not render links with special icons added via CSS so as not to confuse users
    that may think that is part of MagicLink. While possible with CSS, MagicLink provides no CSS automatically.
  • FIX: Tabbed & Details: Fix corner case with lists. (#1225)
  • FIX: Fix issue with unescaping logic in code blocks.

8.1.1

26 Jan 01:42
Compare
Choose a tag to compare

8.1.1

  • FIX: Ensure content immediately before Details content or Tabbed content gets preserved.
  • FIX: StripHTML: Fix some corner cases related to stripping comments.

8.1

24 Dec 17:50
Compare
Choose a tag to compare
8.1

8.1

  • NEW: Drop support for Python 3.5.
  • NEW: Officially support Python 3.9.
  • NEW: Tabbed titles can now have simple Markdown in them which can be parsed and rendered (like emoji, bold, etc.).
  • FIX: Avoid parsing script tags in PathConverter and B64 extensions.

8.0.1

28 Sep 01:35
5c3e9d7
Compare
Choose a tag to compare

8.0.1

  • FIX: Fix issue with pymdownx-inline an Pygments 2.7+.

8.0

11 Aug 14:59
Compare
Choose a tag to compare
8.0

8.0

Please see Release Notes for details on upgrading to 8.0.

  • NEW: Added SaneHeaders extension.
  • NEW: SuperFences & InlineHilite: gracefully handle failing custom formatters and/or validators. Users should add their own debug code to their formatter/validator if they suspect it isn't working.
  • NEW: SuperFences: if a custom fence validator fails, try the next custom fence until all are exhausted.
  • NEW: SuperFences: no longer allow custom options in the form key= (no value). Only keys with values or keys with no value and no = are accepted. Keys with no value will now assume the value to be the key name.
  • NEW: SuperFences: if attr_list extension is enabled, fenced code that use brace attribute list style headers ( ```{lang #id .class attr=value}) will attach arbitrary attributes that are included in the header to the code element.
  • NEW: SuperFences: when Pygments is disabled, options (such as linenums) included in fenced code headers no longer do anything. If attr_list is enabled, and the brace header is used, such options will be treated as HTML attributes. JavaScript highlighter options should be defined in the brace header form with attr_list enabled in order to generate appropriate, compatible HTML with the chosen JavaScript highlighter.
  • NEW: SuperFences: backwards incompatible changes where made to custom fence API. See Release Notes for instructions on how to migrate to the new API. Some temporary support for most of the old format is in place, but is deprecated.
  • NEW: SuperFences: has removed legacy code tab feature. Associated legacy_tab_classes option has been removed. Please use the Tabbed extension to create general purpose tabs for code blocks or other content.
  • NEW: Highlight: add new option language_prefix which controls the prefix applied to language classes when Pygments is not being used.
  • NEW: Highlight: A new option called code_attr_on_pre was added to the Highlight extension and controls whether language classes, and any ids, attributes, and classes that are defined in fenced code attribute list style headers, are attached to the code element or pre element. This has effect when using Pygments.
  • NEW: Highlight: option linenums now defaults to None and accepts None, True, or False. None is disabled by default, but can be enabled per code block. True enables line numbers globally. False disables globally and cannot be enabled manually per code block.
  • NEW: ExtraRawHTML: remove extension.
  • FIX: Fix issues with complex emphasis combinations in BetterEm.
  • FIX: Details: fix corner cases related to extension and lists.
  • FIX: Tabbed: fix corner cases related to extension and lists.
  • FIX: EscapeAll: Handle HTML entities special.
  • FIX: SuperFences: Fix parameter unpacking bug.

7.1

18 Apr 22:34
Compare
Choose a tag to compare
7.1

7.1

  • NEW: SuperFences will now allow number ranges in hl_lines option. (#878)
  • NEW: Emoji extension now requires custom emoji indexes to take an options and md argument. The old non-argument format is deprecated and still accepted, but support for indexes with no arguments will be removed at a future time.
  • NEW: Highlight now allows the specifying of a custom line number class when not using Pygments.
  • FIX: Better Arithmatex patterns. Fix issue #888 which caused a hang due to a regular expression typo. Also ensure #!tex $$..$$ and #!tex begin{}...end{} patterns properly don't match if the tail markers are escaped.