The NetBSD Project

CVS log for pkgsrc/textproc/py-markdown/distinfo

[BACK] Up to [cvs.NetBSD.org] / pkgsrc / textproc / py-markdown

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.24 / (download) - annotate - [select for diffs], Sun Mar 17 14:05:34 2024 UTC (4 weeks, 5 days ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2024Q1-base, pkgsrc-2024Q1, HEAD
Changes since 1.23: +4 -4 lines
Diff to previous 1.23 (colored)

py-markdown: update to 3.6.

## [3.6] -- 2024-03-14

### Changed

#### Refactor TOC Sanitation

* All postprocessors are now run on heading content.
* Footnote references are now stripped from heading content. Fixes #660.
* A more robust `striptags` is provided to convert headings to plain text.
  Unlike, the `markupsafe` implementation, HTML entities are not unescaped.
* The plain text `name`, rich `html`, and unescaped raw `data-toc-label` are
  saved to `toc_tokens`, allowing users to access the full rich text content of
  the headings directly from `toc_tokens`.
* The value of `data-toc-label` is sanitized separate from heading content
  before being written to `name`. This fixes a bug which allowed markup through
  in certain circumstances. To access the raw unsanitized data, retrieve the
  value from `token['data-toc-label']` directly.
* An `html.unescape` call is made just prior to calling `slugify` so that
  `slugify` only operates on Unicode characters. Note that `html.unescape` is
  not run on `name`, `html`, or `data-toc-label`.
* The functions `get_name` and `stashedHTML2text` defined in the `toc` extension
  are both **deprecated**. Instead, third party extensions should use some
  combination of the new functions `run_postprocessors`, `render_inner_html` and
  `striptags`.

### Fixed

* Include `scripts/*.py` in the generated source tarballs (#1430).
* Ensure lines after heading in loose list are properly detabbed (#1443).
* Give smarty tree processor higher priority than toc (#1440).
* Permit carets (`^`) and square brackets (`]`) but explicitly exclude
  backslashes (`\`) from abbreviations (#1444).
* In attribute lists (`attr_list`, `fenced_code`), quoted attribute values are
  now allowed to contain curly braces (`}`) (#1414).

Revision 1.23 / (download) - annotate - [select for diffs], Sat Jan 13 07:10:27 2024 UTC (3 months ago) by adam
Branch: MAIN
Changes since 1.22: +4 -4 lines
Diff to previous 1.22 (colored)

py-markdown: updated to 3.5.2

3.5.2

Fixed

* Fix type annotations for `convertFile` - it accepts only bytes-based buffers.
 Also remove legacy checks from Python 2
* Remove legacy import needed only in Python 2
* Fix typo that left the attribute `AdmonitionProcessor.content_indent` unset

* Fix edge-case crash in `InlineProcessor` with `AtomicString`
* Fix edge-case crash in `codehilite` with an empty `code` tag
* Improve and expand type annotations in the code base
* Fix handling of bogus comments

Revision 1.22 / (download) - annotate - [select for diffs], Mon Nov 6 13:48:14 2023 UTC (5 months, 1 week ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2023Q4-base, pkgsrc-2023Q4
Changes since 1.21: +4 -4 lines
Diff to previous 1.21 (colored)

py-markdown: update to 3.5.1.

## [3.5.1] -- 2023-10-31

### Fixed

* Fix a performance problem with HTML extraction where large HTML input could
  trigger quadratic line counting behavior (#1392).
* Improve and expand type annotations in the code base (#1394).

Revision 1.21 / (download) - annotate - [select for diffs], Tue Oct 10 16:05:37 2023 UTC (6 months, 1 week ago) by adam
Branch: MAIN
Changes since 1.20: +4 -4 lines
Diff to previous 1.20 (colored)

py-markdown: updated to 3.5

3.5

Added

Add permalink_leading configuration option to the toc extension

A new boolean option permalink_leading controls the position of the permanent link anchors generated with permalink. Setting permalink_leading to True will cause the links to be inserted at the start of the header, before any other header content. The default behavior for permalink is to append permanent links to the header, placing them after all other header content.

Changed

Add support for cPython version 3.12 (and PyPy 3.10) and drop support for Python version 3.7
Refactor changelog to use the format defined at https://keepachangelog.com/.
Update the list of empty HTML tags
Add customizable TOC title class to TOC extension
Add API documentation of the code base which is generated by mkdocstrings

Revision 1.20 / (download) - annotate - [select for diffs], Tue Aug 1 12:27:47 2023 UTC (8 months, 2 weeks ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2023Q3-base, pkgsrc-2023Q3
Changes since 1.19: +4 -4 lines
Diff to previous 1.19 (colored)

py-markdown: updated to 3.4.4

3.4.4
Bug fixes

Revision 1.19 / (download) - annotate - [select for diffs], Mon Apr 3 12:06:01 2023 UTC (12 months, 2 weeks ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2023Q2-base, pkgsrc-2023Q2
Changes since 1.18: +4 -4 lines
Diff to previous 1.18 (colored)

py-markdown: updated to 3.4.3

version 3.4.3 (a bug-fix release).

* Restore console script.

version 3.4.2 (a bug-fix release).

* Improve standalone * and _ parsing.
* Consider `<html>` HTML tag a block-level element.
* Officially support Python 3.11.
* Switch from `setup.py` to `pyproject.toml`.

Revision 1.18 / (download) - annotate - [select for diffs], Tue Oct 25 15:55:35 2022 UTC (17 months, 3 weeks ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2023Q1-base, pkgsrc-2023Q1, pkgsrc-2022Q4-base, pkgsrc-2022Q4
Changes since 1.17: +4 -4 lines
Diff to previous 1.17 (colored)

py-markdown: updated to 3.4.1

Python-Markdown 3.4 Release Notes

Python-Markdown version 3.4 supports Python versions 3.7, 3.8, 3.9, 3.10 and
PyPy3.

Backwards-incompatible changes

The `tables` extension now uses a `style` attribute instead of an `align` attribute for alignment.

The [HTML4 spec][spec4] specifically deprecates the use of the `align` attribute
and it does not appear at all in the [HTML5 spec][spec5]. Therefore, by default,
the [tables] extension will now use the `style` attribute (setting just the
`text-align` property) in `td` and `th` blocks.

[spec4]: https://www.w3.org/TR/html4/present/graphics.html#h-15.1.2
[spec5]: https://www.w3.org/TR/html53/tabular-data.html#attributes-common-to-td-and-th-elements
[tables]: ../extensions/tables.md

The former behavior is available by setting the `use_align_attribute`
configuration option to `True` when enabling the extension.

For example, to configure the old `align` behavior:

```python
from markdown.extensions.tables import TableExtension

markdown.markdown(src, extensions=[TableExtension(use_align_attribute=True)])
```

Backslash unescaping moved to Treeprocessor.

Unescaping backslash escapes has been moved to a Treeprocessor, which  enables
proper HTML escaping during serialization. However, it is recognized that
various third-party extensions may be calling the old class at
`postprocessors.UnescapePostprocessor`. Therefore, the old class remains in the
code base, but has been deprecated and will be removed in a future release. The
new class `treeprocessors.UnescapeTreeprocessor` should be used instead.

Previously deprecated objects have been removed

Various objects were deprecated in version 3.0 and began raising deprecation
warnings (see the [version 3.0 release notes] for details). Any of those objects
which remained in version 3.3 have been removed from the code base in version 3.4
and will now raise errors. The relevant objects are listed below.

[version 3.0 release notes]: release-3.0.md

| Deprecated Object                      | Replacement Object                  |
|----------------------------------------|-------------------------------------|
| `markdown.version`                     | `markdown.__version__`              |
| `markdown.version_info`                | `markdown.__version_info__`         |
| `markdown.util.etree`                  | `xml.etree.ElementTree`             |
| `markdown.util.string_type`            | `str`                               |
| `markdown.util.text_type`              | `str`                               |
| `markdown.util.int2str`                | `chr`                               |
| `markdown.util.iterrange`              | `range`                             |
| `markdown.util.isBlockLevel`           | `markdown.Markdown().is_block_level`|
| `markdown.util.Processor().markdown`   | `markdown.util.Processor().md`      |
| `markdown.util.Registry().__setitem__` | `markdown.util.Registry().register` |
| `markdown.util.Registry().__delitem__` |`markdown.util.Registry().deregister`|
| `markdown.util.Registry().add`         | `markdown.util.Registry().register` |

In addition, the `md_globals` parameter of
`Markdown.extensions.Extension.extendMarkdown()` is no longer recognized as a
valid parameter and will raise an error if provided.

New features

The following new features have been included in the 3.4 release:


* Some new configuration options have been added to the
  [footnotes](../extensions/footnotes.md) extension:

    * Small refactor of the `BACKLINK_TITLE` option; The use of `format()`
      instead of "old" `%d` formatter allows one to specify text without the
      need to have the number of the footnote in it (like footnotes on
      Wikipedia for example). The modification is backward compatible so no
      configuration change is required.

    * Addition of a new option `SUPERSCRIPT_TEXT` that allows one to specify a
      custom placeholder for the footnote itself in the text.
      Ex: `[{}]` will give `<sup>[1]</sup>`, `({})` will give `<sup>(1)</sup>`,
      or by default, the current behavior: `<sup>1</sup>`.

* The [Table of Contents](../extensions/toc.md) extension now accepts a
  `toc_class` parameter which can be used to set the CSS class(es) on the
  `<div>` that contains the Table of Contents.

* The CodeHilite extension now supports a `pygments_formatter` option that can
  be set to a custom formatter class.

    - If `pygments_formatter` is set to a string (ex: `'html'`), Pygments'
      default formatter by that name is used.
    - If `pygments_formatter` is set to a formatter class (or any callable
      which returns a formatter instance), then an instance of that class is
      used.

    The formatter class is now passed an additional option, `lang_str`, to
    denote the language of the code block. While Pygments' built-in
    formatters will ignore the option, a custom formatter assigned to the
    `pygments_formatter` option can make use of the `lang_str` to include the
    code block's language in the output.

Bug fixes

The following bug fixes are included in the 3.4 release:

* Extension entry-points are only loaded if needed.
* Added additional checks to the `<pre><code>` handling of
  `PrettifyTreeprocessor`.

Revision 1.17 / (download) - annotate - [select for diffs], Mon Nov 1 21:43:46 2021 UTC (2 years, 5 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2022Q3-base, pkgsrc-2022Q3, pkgsrc-2022Q2-base, pkgsrc-2022Q2, pkgsrc-2022Q1-base, pkgsrc-2022Q1, pkgsrc-2021Q4-base, pkgsrc-2021Q4
Changes since 1.16: +4 -4 lines
Diff to previous 1.16 (colored)

py-markdown: update to 3.2.2.

# Python-Markdown 3.2 Release Notes

Python-Markdown version 3.2 supports Python versions 3.5, 3.6, 3.7, 3.8, and
PyPy3.

### Drop support for Python 2.7

Python 2.7 reaches end-of-life on 2020-01-01 and Python-Markdown 3.2 has dropped
support for it. Please upgrade to Python 3, or use Python-Markdown 3.1.

### `em` and `strong` inline processor changes

In order to fix issue #792, `em`/`strong` inline processors were refactored. This
translated into removing many of the existing inline processors that handled this
logic:

* `em_strong`
* `strong`
* `emphasis`
* `strong2`
* `emphasis`

These processors were replaced with two new ones:

* `em_strong`
* `em_strong2`

The [`legacy_em`](../extensions/legacy_em.md) extension was also modified with new,
refactored logic and simply overrides the `em_strong2` inline processor.

### CodeHilite now always wraps with `<code>` tags

Before, the HTML generated by CodeHilite looked like:
- `<pre><code>foo = 'bar'</code></pre>` if you **were not** using Pygments.
- `<pre>foo = 'bar'</pre>`  if you **were** using Pygments.

To make the cases more consistent (and adhere to many Markdown specifications and
HTML code block markup suggestions), CodeHilite will now always additionally wrap
code with `<code>` tags. See #862 for more details.

This change does not alter the Python-Markdown API, but users relying on the old
markup will find their output now changed.

Internally, this change relies on the Pygments 2.4, so you must be using at least
that version to see this effect. Users with earlier Pygments versions will
continue to see the old behavior.

### `markdown.util.etree` deprecated

Previously, Python-Markdown was using either the `xml.etree.cElementTree` module
or the `xml.etree.ElementTree` module, based on their availability. In modern
Python versions, the former is a deprecated alias for the latter. Thus, the
compatibility layer is deprecated and extensions are advised to use
`xml.etree.ElementTree` directly. Importing `markdown.util.etree` will raise
a `DeprecationWarning` beginning in version 3.2 and may be removed in a future
release.

Therefore, extension developers are encouraged to replace
`from markdown.util import etree` with
`import xml.etree.ElementTree as etree` in their code.

## New features

The following new features have been included in the release:

* Some new configuration options have been added to the [toc](../extensions/toc.md)
  extension:

    * The `anchorlink_class` and `permalink_class` options allow class(es) to be
      assigned to the `anchorlink` and `permalink` respectively. This allows using
      icon fonts from CSS for the links. Therefore, an empty string passed to
      `permalink` now generates an empty `permalink`. Previously no `permalink`
      would have been generated. (#776)

    * The `permalink_title` option allows the title attribute of a `permalink` to be
      set to something other than the default English string `Permanent link`. (#877)

* Document thread safety (#812).

* Markdown parsing in HTML has been exposed via a separate extension called
  [`md_in_html`](../extensions/md_in_html.md).

* Add support for Python 3.8.

Revision 1.16 / (download) - annotate - [select for diffs], Tue Oct 26 11:23:07 2021 UTC (2 years, 5 months ago) by nia
Branch: MAIN
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored)

textproc: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Unfetchable distfiles (fetched conditionally?):
./textproc/convertlit/distinfo clit18src.zip

Revision 1.15 / (download) - annotate - [select for diffs], Thu Oct 7 15:02:14 2021 UTC (2 years, 6 months ago) by nia
Branch: MAIN
Changes since 1.14: +1 -2 lines
Diff to previous 1.14 (colored)

textproc: Remove SHA1 hashes for distfiles

Revision 1.14 / (download) - annotate - [select for diffs], Tue May 21 08:26:21 2019 UTC (4 years, 11 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2021Q3-base, pkgsrc-2021Q3, pkgsrc-2021Q2-base, pkgsrc-2021Q2, pkgsrc-2021Q1-base, pkgsrc-2021Q1, pkgsrc-2020Q4-base, pkgsrc-2020Q4, pkgsrc-2020Q3-base, pkgsrc-2020Q3, pkgsrc-2020Q2-base, pkgsrc-2020Q2, pkgsrc-2020Q1-base, pkgsrc-2020Q1, pkgsrc-2019Q4-base, pkgsrc-2019Q4, pkgsrc-2019Q3-base, pkgsrc-2019Q3, pkgsrc-2019Q2-base, pkgsrc-2019Q2
Changes since 1.13: +5 -5 lines
Diff to previous 1.13 (colored)

py-markdown: updated to 3.1.1

v3.1:

Backwards-incompatible changes

markdown.version and markdown.version_info deprecated

Historically, version numbers were acquired via the attributes
markdown.version and markdown.version_info. As of 3.0, a more standardized
approach is being followed and versions are acquired via the
markdown.__version__ and markdown.__version_info__ attributes.  As of 3.1
the legacy attributes will raise a DeprecationWarning if they are accessed. In
a future release the legacy attributes will be removed.

New features

The following new features have been included in the release:

* A [Contributing Guide](../contributing.md) has been added.

* A new configuration option to set the footnote separator has been added. Also,
  the rel and rev attributes have been removed from footnotes as they are
  not valid in HTML5. The refs and backrefs classes already exist and
  serve the same purpose.

* A new option for toc_depth to set not only the bottom section level,
  but also the top section level. A string consisting of two digits
  separated by a hyphen in between ("2-5"), defines the top (t) and the
  bottom (b) (<ht>..<hb>). A single integer still defines the bottom
  section level (<h1>..<hb>) only..

Bug fixes

The following bug fixes are included in the 3.1 release:

* Update CLI to support PyYAML 5.1.
* Overlapping raw HTML matches no longer leave placeholders behind.
* Emphasis patterns now recognize newline characters as whitespace.
* Version format had been updated to be PEP 440 compliant.
* Block level elements are defined per instance, not as class attributes
 .
* Double escaping of block code has been eliminated.
* Problems with newlines in references has been fixed.
* Escaped # are now handled in header syntax.

Revision 1.13 / (download) - annotate - [select for diffs], Wed Mar 20 16:25:02 2019 UTC (5 years, 1 month ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2019Q1-base, pkgsrc-2019Q1
Changes since 1.12: +5 -5 lines
Diff to previous 1.12 (colored)

py-markdown: update to 3.0.1.

We are pleased to release Python-Markdown 3.0 which adds a few new
features and fixes various bugs and deprecates various old features.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Jan 5 15:20:58 2018 UTC (6 years, 3 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3, pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1
Changes since 1.11: +5 -6 lines
Diff to previous 1.11 (colored)

py-markdown: updated to 2.6.11

Released version 2.6.11 (a bug-fix release).
Added a new BACKLINK-TITLE option to the footnote extension so that non-English users can provide a custom title to back links.

Revision 1.11 / (download) - annotate - [select for diffs], Sun Dec 10 08:53:16 2017 UTC (6 years, 4 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2017Q4-base, pkgsrc-2017Q4
Changes since 1.10: +6 -6 lines
Diff to previous 1.10 (colored)

py-markdown: updated to 2.6.10

2.6.10:
This version was released to force PyPI to point to the new docs location.
Closes 601. The old PyPI hosted docs can be deleted after this.

Revision 1.10 / (download) - annotate - [select for diffs], Sat Aug 19 14:25:15 2017 UTC (6 years, 8 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2017Q3-base, pkgsrc-2017Q3
Changes since 1.9: +6 -6 lines
Diff to previous 1.9 (colored)

version 2.6.9:
a bug-fix release

Revision 1.9 / (download) - annotate - [select for diffs], Mon Feb 13 21:42:50 2017 UTC (7 years, 2 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1
Changes since 1.8: +5 -5 lines
Diff to previous 1.8 (colored)

Changes 2.6.8:
Bug-fix release.

Revision 1.8 / (download) - annotate - [select for diffs], Thu Dec 15 13:44:20 2016 UTC (7 years, 4 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2016Q4-base, pkgsrc-2016Q4
Changes since 1.7: +5 -5 lines
Diff to previous 1.7 (colored)

Sept 23, 2016: Released version 2.6.7 (a bug-fix release).

Revision 1.7 / (download) - annotate - [select for diffs], Fri Nov 13 14:47:09 2015 UTC (8 years, 5 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2016Q3-base, pkgsrc-2016Q3, pkgsrc-2016Q2-base, pkgsrc-2016Q2, pkgsrc-2016Q1-base, pkgsrc-2016Q1, pkgsrc-2015Q4-base, pkgsrc-2015Q4
Changes since 1.6: +5 -5 lines
Diff to previous 1.6 (colored)

Update py-markdown to 2.6.4.

Add missing test dependencies.

Nov 6, 2015: Released version 2.6.4 (a bug-fix release).

Revision 1.6 / (download) - annotate - [select for diffs], Wed Nov 4 09:45:05 2015 UTC (8 years, 5 months ago) by wiz
Branch: MAIN
Changes since 1.5: +6 -5 lines
Diff to previous 1.5 (colored)

Update to 2.6.3 based on PR 50396 by derouiche.

Oct 26, 2015: Released version 2.6.3 (a bug-fix release).

Revision 1.5 / (download) - annotate - [select for diffs], Wed Nov 4 02:00:03 2015 UTC (8 years, 5 months ago) by agc
Branch: MAIN
Changes since 1.4: +2 -1 lines
Diff to previous 1.4 (colored)

Add SHA512 digests for distfiles for textproc category

Problems found locating distfiles:
	Package cabocha: missing distfile cabocha-0.68.tar.bz2
	Package convertlit: missing distfile clit18src.zip
	Package php-enchant: missing distfile php-enchant/enchant-1.1.0.tgz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.

Revision 1.4 / (download) - annotate - [select for diffs], Sun Jul 19 10:20:10 2015 UTC (8 years, 9 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2015Q3-base, pkgsrc-2015Q3
Changes since 1.3: +4 -4 lines
Diff to previous 1.3 (colored)

Update to 2.6.2:

Python-Markdown 2.3 Release Notes
=================================

We are pleased to release Python-Markdown 2.3 which adds one new extension,
removes a few old (obsolete) extensions, and now runs on both Python 2 and
Python 3 without running the 2to3 conversion tool. See the list of changes
below for details.

Python-Markdown supports Python versions 2.6, 2.7, 3.1, 3.2, and 3.3.

Backwards-incompatible Changes
------------------------------

* Support has been dropped for Python 2.5. No guarantees are made that the
library will work in any version of Python lower than 2.6. As all supported
Python versions include the ElementTree library, Python-Markdown will no
longer try to import a third-party installation of ElementTree.

* All classes are now "new-style" classes. In other words, all classes
subclass from 'object'. While this is not likely to affect most users,
extension authors may need to make a few minor adjustments to their code.

* "safe_mode" has been further restricted. Markdown formatted links must be
of a known white-listed scheme when in "safe_mode" or the URL is discarded.
The white-listed schemes are: 'HTTP', 'HTTPS', 'FTP', 'FTPS', 'MAILTO', and
'news'. Schemeless URLs are also permitted, but are checked in other ways -
as they have been for some time.

* The ids assigned to footnotes now contain a dash (`-`) rather than a colon
(`:`) when `output_format` it set to `"html5"` or `"xhtml5"`. If you are making
reference to those ids in your JavaScript or CSS and using the HTML5 output,
you will need to update your code accordingly. No changes are necessary if
you are outputting XHTML (the default) or HTML4.

* The `force_linenos` configuration setting of the CodeHilite extension has been
marked as **Pending Deprecation** and a new setting `linenums` has been added to
replace it. See documentation for the [CodeHilite Extension] for an explanation
of the new `linenums` setting. The new setting will honor the old
`force_linenos` if it is set, but it will raise a `PendingDeprecationWarning`
and will likely be removed in a future version of Python-Markdown.

[CodeHilite Extension]: extensions/codehilite.html

* The "RSS" extension has been removed and no longer ships with Python-Markdown.
If you would like to continue using the extension (not recommended), it is
archived on [GitHub](https://gist.github.com/waylan/4773365).

* The "HTML Tidy" Extension has been removed and no longer ships with Python-Markdown.
If you would like to continue using the extension (not recommended), it is
archived on [GitHub](https://gist.github.com/waylan/5152650). Note that the
underlying library, uTidylib, is not Python 3 compatible. Instead, it is
recommended that the newer [PyTidyLib] (version 0.2.2+ for Python 3
comparability - install from GitHub not PyPI) be used. As the API for that
library is rather simple, it is recommended that the output of Markdown be
wrapped in a call to PyTidyLib rather than using an extension (for example:
`tidylib.tidy_fragment(markdown.markdown(source), options={...})`).

[PyTidyLib]: http://countergram.com/open-source/pytidylib

What's New in Python-Markdown 2.3
---------------------------------

* The entire code base now universally runs in Python 2 and Python 3 without
any need for running the 2to3 conversion tool. This not only simplifies testing,
but by using Unicode_literals, results in more consistent behavior across
Python versions. Additionally, the relative imports (made possible in Python 2
via absolute_import) allows the entire library to more easily be embedded in a
sub-directory of another project. The various files within the library will
still import each other properly even though 'markdown' may not be in Python's
root namespace.

* The [Admonition Extension] has been added, which implements [rST-style][rST]
admonitions in the Markdown syntax. However, be warned that this extension
is experimental and the syntax and behavior is still subject to change. Please
try it out and report bugs and/or improvements.

[Admonition Extension]: extensions/admonition.html
[rST]: http://docutils.sourceforge.net/docs/ref/rst/directives.html#specific-admonitions

* Various bug fixes have been made.  See the
[commit log](https://github.com/waylan/Python-Markdown/commits/master)
for a complete history of the changes.

Python-Markdown 2.4 Release Notes
=================================

We are pleased to release Python-Markdown 2.4 which adds one new extension
and fixes various bugs. See the list of changes below for details.

Python-Markdown supports Python versions 2.6, 2.7, 3.1, 3.2, and 3.3.

Backwards-incompatible Changes
------------------------------

* The `force_linenos` configuration setting of the CodeHilite extension has been
marked as **Deprecated**. It had previously been marked as "Pending Deprecation"
in version 2.3 when a new setting `linenums` was added to replace it. See
documentation for the [CodeHilite Extension] for an explanation of the new
`linenums` setting. The new setting will honor the old `force_linenos` if it
is set, but `force_linenos` will raise a `DeprecationWarning` and will likely
be removed in a future version of Python-Markdown.

[CodeHilite Extension]: extensions/code_hilite.html

* URLs are no longer percent-encoded. This improves compatibility with the
original (written in Perl) Markdown implementation. Please percent-encode
your URLs manually when needed.

What's New in Python-Markdown 2.4
---------------------------------

* Thanks to the hard work of [Dmitry Shachnev] the [Smarty Extension] has been
added, which implements [SmartyPants] using Python-Markdown's Extension API.
This offers a few benefits over a third party script. The HTML does not need
to be "tokenized" twice, no hacks are required to combine SmartyPants and
code highlighting, and we get markdown's escaping feature for free. Please try
it out and report bugs and/or improvements.

[Dmitry Shachnev]: https://github.com/mitya57
[Smarty Extension]: extensions/smarty.html
[SmartyPants]: http://daringfireball.net/projects/smartypants/

* The [Table of Contents Extension] now supports new `permalink` option
for creating [Sphinx]-style anchor links.

[Table of Contents Extension]: extensions/toc.html
[Sphinx]: http://sphinx-doc.org/

* It is now possible to enable Markdown formatting inside HTML blocks by
appending `markdown=1` to opening tag attributes. See [Markdown Inside HTML
Blocks] section for details. Thanks to [ryneeverett] for implementing this
feature.

[Markdown Inside HTML Blocks]: extensions/extra.html#nested-markdown-inside-html-blocks
[ryneeverett]: https://github.com/ryneeverett

* The code blocks now support emphasizing some of the code lines. To use this
feature, specify `hl_lines` option after language name, for example (using
the [Fenced Code Extension]):

        ```.python hl_lines="1 3"
        # This line will be emphasized.
        # This one won't.
        # This one will be also emphasized.
        ```

    Thanks to [A. Jesse Jiryu Davis] for implementing this feature.

[Fenced Code Extension]: extensions/fenced_code_blocks.html
[A. Jesse Jiryu Davis]: https://github.com/ajdavis

* Various bug fixes have been made.  See the
[commit log](https://github.com/waylan/Python-Markdown/commits/master)
for a complete history of the changes.

Python-Markdown 2.5 Release Notes
=================================

We are pleased to release Python-Markdown 2.5 which adds a few new features
and fixes various bugs. See the list of changes below for details.

Python-Markdown version 2.5 supports Python versions 2.7, 3.2, 3.3, and 3.4.

Backwards-incompatible Changes
------------------------------

* Python-Markdown no longer supports Python version 2.6. You must be using Python
  versions 2.7, 3.2, 3.3, or 3.4.

[importlib]: https://pypi.python.org/pypi/importlib

* The `force_linenos` configuration key on the [CodeHilite Extension] has been **deprecated**
  and will raise a `KeyError` if provided. In the previous release (2.4), it was
  issuing a `DeprecationWarning`. The [`linenums`][linenums] keyword should be used
  instead, which provides more control of the output.

[CodeHilite Extension]: extensions/code_hilite.html
[linenums]: extensions/code_hilite.html#usage

* Both `safe_mode` and the associated `html_replacement_text` keywords will be deprecated
  in version 2.6 and will raise a **`PendingDeprecationWarning`** in 2.5. The so-called
  "safe mode" was never actually "safe" which has resulted in many people having a false
  sense of security when using it. As an alternative, the developers of Python-Markdown
  recommend that any untrusted content be passed through an HTML sanitizer (like [Bleach])
  after being converted to HTML by markdown.

    If your code previously looked like this:

	    html = markdown.markdown(text, same_mode=True)

	Then it is recommended that you change your code to read something like this:

	    import bleach
        html = bleach.clean(markdown.markdown(text))

	If you are not interested in sanitizing untrusted text, but simply desire to escape
	raw HTML, then that can be accomplished through an extension which removes HTML parsing:

		from markdown.extensions import Extension

		class EscapeHtml(Extension):
			def extendMarkdown(self, md, md_globals):
				del md.preprocessors['html_block']
				del md.inlinePatterns['html']

		html = markdown.markdown(text, extensions=[EscapeHtml()])

	As the HTML would not be parsed with the above Extension, then the serializer will
	escape the raw HTML, which is exactly what happens now when `safe_mode="escape"`.

[Bleach]: http://bleach.readthedocs.org/

* Positional arguments on the `markdown.Markdown()` are pending deprecation as are
  all except the `text` argument on the `markdown.markdown()` wrapper function.
  Only keyword arguments should be used. For example, if your code previously
  looked like this:

         html = markdown.markdown(text, ['extra'])

	Then it is recommended that you change it to read something like this:

	    html = markdown.markdown(text, extensions=['extra'])

	!!! Note
	    This change is being made as a result of deprecating `"safe_mode"` as the
		`safe_mode` argument was one of the positional arguments. When that argument
		is removed, the two arguments following it will no longer be at the correct
		position. It is recommended that you always use keywords when they are supported
		for this reason.

* In previous versions of Python-Markdown, the built-in extensions received
  special status and did not require the full path to be provided. Additionally,
  third party extensions whose name started with `"mdx_"` received the same
  special treatment. This behavior will be deprecated in version 2.6 and will
  raise a **`PendingDeprecationWarning`** in 2.5. Ensure that you always use the full
  path to your extensions. For example, if you previously did the following:

        markdown.markdown(text, extensions=['extra'])

    You should change your code to the following:

	    markdown.markdown(text, extensions=['markdown.extensions.extra'])

    The same applies to the command line:

        $ python -m markdown -x markdown.extensions.extra input.txt

    See the [documentation](reference.html#extensions) for a full explanation
    of the current behavior.

* The previously documented method of appending the extension configuration as
  a string to the extension name will be deprecated in Python-Markdown
  version 2.6 and will raise a **`PendingDeprecationWarning`** in 2.5. The
  [`extension_configs`](reference.html#extension_configs) keyword should
  be used instead. See the [documentation](reference.html#extension-configs)
  for a full explanation of the current behavior.

What's New in Python-Markdown 2.5
---------------------------------

*   The [Smarty Extension] has had a number of additional configuration settings
    added, which allows one to define their own substitutions to better support
    languages other than English. Thanks to [Martin Altmayer] for implementing this
	feature.

[Smarty Extension]: extensions/smarty.html
[Martin Altmayer]:https://github.com/MartinAltmayer

*   Named Extensions (strings passed to the [`extensions`][ex] keyword of
    `markdown.Markdown`) can now point to any module and/or Class on your PYTHONPATH.
	While dot notation was previously supported, a module could not be at the root of
	your PYTHONPATH. The name had to contain at least one dot (requiring it to be a
	sub-module). This restriction no longer exists.

	Additionally, a Class may be specified in the name. The class must be at the end of
	the name (which uses dot notation from PYTHONPATH) and be separated by a colon from
	the module.

	Therefore, if you were to import the class like this:

		from path.to.module import SomeExtensionClass

	Then the named extension would comprise this string:

		"path.to.module:SomeExtensionClass"

	This allows multiple extensions to be implemented within the same module and still
	accessible when the user is not able to import the extension directly (perhaps from
	a template filter or the command line).

	This also means that extension modules are no longer required to include the
	`makeExtension`	function which returns an instance of the extension class. However,
	if the user does not specify the class name (she only provides `"path.to.module"`)
	the extension will fail to load without the `makeExtension` function included in
	the module. Extension authors will want to document carefully what is required to
	load their extensions.

[ex]: reference.html#extensions

*   The Extension Configuration code has been refactored to make it a little easier
    for extension authors to work with configuration settings. As a result, the
    [`extension_configs`][ec] keyword now accepts a dictionary rather than requiring
    a list of tuples. A list of tuples is still supported so no one needs to change
    their existing code. This should also simplify the learning curve for new users.

	Extension authors are encouraged to review the new methods available on the
	`markdown.extnesions.Extension` class for handling configuration and adjust their
	code going forward. The included extensions provide a model for best practices.
	See the [API] documentation for a full explanation.

[ec]: reference.html#extension_configs
[API]: extensions/api.html#configsettings

*   The [Command Line Interface][cli] now accepts a `--extensions_config` (or `-c`)
    option which accepts a file name and passes the parsed content of a [YAML] or
	[JSON]   file to the [`extension_configs`][ec] keyword of the `markdown.Markdown`
	class. The contents of the YAML or JSON must map to a Python Dictionary which
	matches the format required by the `extension_configs` keyword. Note that
	[PyYAML] is required to parse YAML files.

[cli]: cli.html#using-extensions
[YAML]: http://yaml.org/
[JSON]: http://json.org/
[PyYAML]: http://pyyaml.org/

*   The [admonition extension][ae] is no longer considered "experimental."

[ae]: extensions/admonition.html

*   There have been various refactors of the testing framework. While those changes
    will not directly effect end users, the code is being better tested which will
    benefit everyone.

*   Various bug fixes have been made.  See the
    [commit log](https://github.com/waylan/Python-Markdown/commits/master)
    for a complete history of the changes.

Python-Markdown 2.6 Release Notes
=================================

We are pleased to release Python-Markdown 2.6 which adds a few new features
and fixes various bugs. See the list of changes below for details.

Python-Markdown version 2.6 supports Python versions 2.7, 3.2, 3.3, and 3.4 as well as PyPy.

Backwards-incompatible Changes
------------------------------

### `safe_mode` Deprecated

Both `safe_mode` and the associated `html_replacement_text` keywords are deprecated
in version 2.6 and will raise a **`DeprecationWarning`**. The `safe_mode` and
`html_replacement_text` keywords will be ignored in version 2.7. The so-called
"safe mode" was never actually "safe" which has resulted in many people having a false
sense of security when using it. As an alternative, the developers of Python-Markdown
recommend that any untrusted content be passed through an HTML sanitizer (like [Bleach])
after being converted to HTML by markdown.

If your code previously looked like this:

    html = markdown.markdown(text, safe_mode=True)

Then it is recommended that you change your code to read something like this:

    import bleach
    html = bleach.clean(markdown.markdown(text))

If you are not interested in sanitizing untrusted text, but simply desire to escape
raw HTML, then that can be accomplished through an extension which removes HTML parsing:

    from markdown.extensions import Extension

    class EscapeHtml(Extension):
        def extendMarkdown(self, md, md_globals):
        del md.preprocessors['html_block']
        del md.inlinePatterns['html']

    html = markdown.markdown(text, extensions=[EscapeHtml()])

As the HTML would not be parsed with the above Extension, then the serializer will
escape the raw HTML, which is exactly what happens now when `safe_mode="escape"`.

[Bleach]: http://bleach.readthedocs.org/

### Positional Arguments Deprecated

Positional arguments on the `markdown.Markdown()` class are deprecated as are
all except the `text` argument on the `markdown.markdown()` wrapper function.
Using positional arguments will raise a **`DeprecationWarning`** in 2.6 and an error
in version 2.7. Only keyword arguments should be used. For example, if your code
previously looked like this:

    html = markdown.markdown(text, [SomeExtension()])

Then it is recommended that you change it to read something like this:

    html = markdown.markdown(text, extensions=[SomeExtension()])

!!! Note
    This change is being made as a result of deprecating `"safe_mode"` as the
    `safe_mode` argument was one of the positional arguments. When that argument
    is removed, the two arguments following it will no longer be at the correct
    position. It is recommended that you always use keywords when they are supported
    for this reason.

### "Shortened" Extension Names Deprecated

In previous versions of Python-Markdown, the built-in extensions received
special status and did not require the full path to be provided. Additionally,
third party extensions whose name started with `"mdx_"` received the same
special treatment. This behavior is deprecated and will raise a
**`DeprecationWarning`** in version 2.6 and an error in 2.7. Ensure that you
always use the full path to your extensions. For example, if you previously
did the following:

    markdown.markdown(text, extensions=['extra'])

You should change your code to the following:

    markdown.markdown(text, extensions=['markdown.extensions.extra'])

The same applies to the command line:

    $ python -m markdown -x markdown.extensions.extra input.txt

Similarly, if you have used a third party extension (for example `mdx_math`), previously
you might have called it like this:

    markdown.markdown(text, extensions=['math'])

As the `"mdx"` prefix will no longer be appended, you will need to change your code
as follows (assuming the file `mdx_math.py` is installed at the root of your PYTHONPATH):

    markdown.markdown(text, extensions=['mdx_math'])

Extension authors will want to update their documentation to reflect the new behavior.

See the [documentation](reference.html#extensions) for a full explanation
of the current behavior.

### Extension Configuration as Part of Extension Name Deprecated

The previously documented method of appending the extension configuration options as
a string to the extension name is deprecated and will raise a
**`DeprecationWarning`** in version 2.6 and an error in 2.7.
The [`extension_configs`](reference.html#extension_configs) keyword should
be used instead. See the [documentation](reference.html#extension-configs)
for a full explanation of the current behavior.

### HeaderId Extension Pending Deprecation

The [HeaderId][hid] Extension is pending deprecation and will raise a
**`PendingDeprecationWarning`** in version 2.6. The extension will be
deprecated in version 2.7 and raise an error in version 2.8. Use the
[Table of Contents][TOC] Extension instead, which offers most of the
features of the HeaderId Extension and more (support for meta data is missing).

Extension authors who have been using the `slugify` and `unique` functions
defined in the HeaderId Extension should note that those functions are now
defined in the Table of Contents extension and should adjust their import
statements accordingly (`from markdown.extensions.toc import slugify, unique`).

[hid]: extensions/header_id.html

### The `configs` Keyword is Deprecated

Positional arguments and the `configs` keyword on the `markdown.extension.Extension` class
(and its subclasses) are deprecated. Each individual configuration option should be passed
to the class as a keyword/value pair. For example. one might have previously initiated
an extension subclass like this:

    ext = SomeExtension(configs={'somekey': 'somevalue'})

That code should be updated to pass in the options directly:

    ext = SomeExtension(somekey='somevalue')

Extension authors will want to note that this affects the `makeExtension` function as well.
Previously it was common for the function to be defined as follows:

    def makeExtension(configs=None):
        return SomeExtension(configs=configs)

Extension authors will want to update their code to the following instead:

    def makeExtension(**kwargs):
        return SomeExtension(**kwargs)

Failing to do so will result in a **`DeprecationWarning`** and will raise an error in the next
release. See the [Extension API][mext] documentation for more information.

In the event that an `markdown.extension.Extension` subclass overrides the `__init__` method
and implements its own configuration handling, then the above may not apply. However, it is
recommended that the subclass still calls the parent `__init__` method to handle configuration
options like so:

    class SomeExtension(markdown.extension.Extension):
        def __init__(**kwargs):
            # Do pre-config stuff here
            # Set config defaults
            self.config = {
                'option1' : ['value1', 'description1'],
                'option2' : ['value2', 'description2']
            }
            # Set user defined configs
            super(MyExtension, self).__init__(**kwargs)
            # Do post-config stuff here

Note the call to `super` to get the benefits of configuration handling from the parent class.
See the [documentation][config] for more information.

[config]: extensions/api.html#configsettings
[mext]: extensions/api.html#makeextension

What's New in Python-Markdown 2.6
---------------------------------

### Official Support for PyPy

Official support for [PyPy] has been added. While Python-Markdown has most likely
worked on PyPy for some time, it is now officially supported and tested on PyPy.

[PyPy]: http://pypy.org/

### YAML Style Meta-Data

The [Meta-Data] Extension now includes optional support for [YAML] style
meta-data. By default, the YAML deliminators are recognized, however, the
actual data is parsed as previously.  This follows the syntax of
[MultiMarkdown], which inspired this extension.

<del>Alternatively, if the `yaml` option is set, then the data is parsed as YAML.</del>
<ins>As the `yaml` option was buggy, it was removed in 2.6.1. It is suggested that a third
party extension be used if you want true YAML support. See [Issue #390][#390] for a full
explanation.</ins>

[MultiMarkdown]: http://fletcherpenney.net/MultiMarkdown_Syntax_Guide#metadata
[Meta-Data]: extensions/meta_data.html
[YAML]: http://yaml.org/
[#390]: https://github.com/waylan/Python-Markdown/issues/390

### Table of Contents Extension Refactored

The [Table of Contents][TOC] Extension has been refactored and some new features
have been added.  See the documentation for a full explanation of each feature
listed below:

*   The extension now assigns the Table of Contents to the `toc` attribute of
    the Markdown class regardless of whether a "marker" was found in the document.
    Third party frameworks no longer need to insert a "marker," run the document
    through Markdown, then extract the Table of Contents from the document.

*   The Table of Contents Extension is now a "registered extension." Therefore, when the `reset`
    method of the Markdown class is called, the `toc` attribute on the Markdown
    class is cleared (set to an empty string).

*   When the `marker` configuration option is set to an empty string, the parser completely
    skips the process of searching the document for markers. This should save parsing
    time when the Table of Contents Extension is being used only to assign ids to headers.

*   A `separator` configuration option has been added allowing users to override the
    separator character used by the slugify function.

*   A `baselevel` configuration option has been added allowing users to set the base level
    of headers in their documents (h1-h6). This allows the header levels to be
    automatically adjusted to fit within the hierarchy of an HTML template.

[TOC]: extensions/toc.html

### Pygments can now be disabled

The [CodeHilite][ch] Extension has gained a new configuration option: `use_pygments`.
The option is `True` by default, however, it allows one to turn off Pygments code
highlighting (set to `False`) while preserving the language detection features of
the extension. Note that Pygments language guessing is not used as that would 'use
Pygments'. If a language is defined for a code block, it will be assigned to the
`<code>` tag as a class in the manner suggested by the [HTML5 spec][spec]
(alternate output will not be entertained) and could potentially be used by a JavaScript
library in the browser to highlight the code block.

[ch]: extensions/code_hilite.html
[spec]: http://www.w3.org/TR/html5/text-level-semantics.html#the-code-element

### Miscellaneous

Test coverage has been improved including running [flake8]. While those changes
will not directly effect end users, the code is being better tested which will
benefit everyone.

[flake8]: http://flake8.readthedocs.org/en/latest/

Various bug fixes have been made.  See the
[commit log](https://github.com/waylan/Python-Markdown/commits/master)
for a complete history of the changes.

Revision 1.3 / (download) - annotate - [select for diffs], Tue Feb 19 19:41:28 2013 UTC (11 years, 2 months ago) by ryoon
Branch: MAIN
CVS Tags: pkgsrc-2015Q2-base, pkgsrc-2015Q2, pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4, pkgsrc-2014Q3-base, pkgsrc-2014Q3, pkgsrc-2014Q2-base, pkgsrc-2014Q2, pkgsrc-2014Q1-base, pkgsrc-2014Q1, pkgsrc-2013Q4-base, pkgsrc-2013Q4, pkgsrc-2013Q3-base, pkgsrc-2013Q3, pkgsrc-2013Q2-base, pkgsrc-2013Q2, pkgsrc-2013Q1-base, pkgsrc-2013Q1
Changes since 1.2: +4 -4 lines
Diff to previous 1.2 (colored)

Update to 2.2.1

* Fix MASTER_SITES, sf.net no longer has distfile.
* Fix HOMEPAGE.

Changelog:
* Change command name to markdown_py from markdown.
* Drop python 2.3 and 2.4 support.
* Many bugfixes.

Revision 1.2 / (download) - annotate - [select for diffs], Fri Apr 8 12:37:19 2011 UTC (13 years ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2012Q4-base, pkgsrc-2012Q4, pkgsrc-2012Q3-base, pkgsrc-2012Q3, pkgsrc-2012Q2-base, pkgsrc-2012Q2, pkgsrc-2012Q1-base, pkgsrc-2012Q1, pkgsrc-2011Q4-base, pkgsrc-2011Q4, pkgsrc-2011Q3-base, pkgsrc-2011Q3, pkgsrc-2011Q2-base, pkgsrc-2011Q2
Changes since 1.1: +4 -4 lines
Diff to previous 1.1 (colored)

Changes 2.0.3:
Bug-fix release.


We are happy to release Python-Markdown 2.0, which has been over a year in the
making. We have rewritten significant portions of the code, dramatically
extending the extension API, increased performance, and added numerous
extensions to the distribution (including an extension that mimics PHP Markdown
Extra), all while maintaining backward compatibility with the end user API in
version 1.7.

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Tue Oct 31 22:39:18 2006 UTC (17 years, 5 months ago) by joerg
Branch: TNF
CVS Tags: pkgsrc-base, pkgsrc-2011Q1-base, pkgsrc-2011Q1, pkgsrc-2010Q4-base, pkgsrc-2010Q4, pkgsrc-2010Q3-base, pkgsrc-2010Q3, pkgsrc-2010Q2-base, pkgsrc-2010Q2, pkgsrc-2010Q1-base, pkgsrc-2010Q1, pkgsrc-2009Q4-base, pkgsrc-2009Q4, pkgsrc-2009Q3-base, pkgsrc-2009Q3, pkgsrc-2009Q2-base, pkgsrc-2009Q2, pkgsrc-2009Q1-base, pkgsrc-2009Q1, pkgsrc-2008Q4-base, pkgsrc-2008Q4, pkgsrc-2008Q3-base, pkgsrc-2008Q3, pkgsrc-2008Q2-base, pkgsrc-2008Q2, pkgsrc-2008Q1-base, pkgsrc-2008Q1, pkgsrc-2007Q4-base, pkgsrc-2007Q4, pkgsrc-2007Q3-base, pkgsrc-2007Q3, pkgsrc-2007Q2-base, pkgsrc-2007Q2, pkgsrc-2007Q1-base, pkgsrc-2007Q1, pkgsrc-2006Q4-base, pkgsrc-2006Q4, cwrapper, cube-native-xorg-base, cube-native-xorg
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

Import py-markdown-1.6a. From DESCR:
  Markdown is a text-to-HTML conversion tool for web writers. Markdown
  allows you to write using an easy-to-read, easy-to-write plain text
  format, then convert it to structurally valid XHTML (or HTML).

  This package provides a Python implementation.

Revision 1.1 / (download) - annotate - [select for diffs], Tue Oct 31 22:39:18 2006 UTC (17 years, 5 months ago) by joerg
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>