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)