Skip to content

Commit c2e9470

Browse files
committed
Merge pull request #3842 from linovia/markdown-compat
Markdown compat (overtakes #3604)
2 parents 50749c4 + 8ea7d6b commit c2e9470

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Optional packages which may be used with REST framework.
2-
markdown==2.5.2
2+
markdown==2.6.4
33
django-guardian==1.3.2
44
django-filter==0.10.0

rest_framework/compat.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -153,16 +153,25 @@ def __init__(self, *args, **kwargs):
153153
try:
154154
import markdown
155155

156+
if markdown.version <= '2.2':
157+
HEADERID_EXT_PATH = 'headerid'
158+
else:
159+
HEADERID_EXT_PATH = 'markdown.extensions.headerid'
156160

157161
def apply_markdown(text):
158162
"""
159163
Simple wrapper around :func:`markdown.markdown` to set the base level
160164
of '#' style headers to <h2>.
161165
"""
162-
163-
extensions = ['headerid(level=2)']
164-
safe_mode = False
165-
md = markdown.Markdown(extensions=extensions, safe_mode=safe_mode)
166+
extensions = [HEADERID_EXT_PATH]
167+
extension_configs = {
168+
HEADERID_EXT_PATH: {
169+
'level': '2'
170+
}
171+
}
172+
md = markdown.Markdown(
173+
extensions=extensions, extension_configs=extension_configs
174+
)
166175
return md.convert(text)
167176
except ImportError:
168177
apply_markdown = None

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy