Releases: facelessuser/pymdown-extensions
Releases · facelessuser/pymdown-extensions
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
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
andfingerprint
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
9.1
- NEW: Highlight: If
linenums
is enabled globally via thehighlight
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
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 newauto_title
option. If a specific name is not preferred, these names can be overridden via
a user defined mapping calledauto_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
theattr_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
, andgfm_encoded
.slugify
takes
parameters returning a function that performs the desired slug handling.slugify
adds new optionscase="fold"
for
case folding andnormalize='<normalize format here>'
(usesNFC
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
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
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
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
8.0.1
- FIX: Fix issue with
pymdownx-inline
an Pygments 2.7+.
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. Ifattr_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 withattr_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 toNone
and acceptsNone
,True
, orFalse
.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
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
andmd
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.