Skip to content

Commit

Permalink
Merge pull request #3842 from linovia/markdown-compat
Browse files Browse the repository at this point in the history
Markdown compat (overtakes #3604)
  • Loading branch information
xordoquy committed Jan 19, 2016
2 parents 50749c4 + 8ea7d6b commit c2e9470
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 5 deletions.
2 changes: 1 addition & 1 deletion requirements/requirements-optionals.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Optional packages which may be used with REST framework.
markdown==2.5.2
markdown==2.6.4
django-guardian==1.3.2
django-filter==0.10.0
17 changes: 13 additions & 4 deletions rest_framework/compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -153,16 +153,25 @@ def __init__(self, *args, **kwargs):
try:
import markdown

if markdown.version <= '2.2':
HEADERID_EXT_PATH = 'headerid'
else:
HEADERID_EXT_PATH = 'markdown.extensions.headerid'

def apply_markdown(text):
"""
Simple wrapper around :func:`markdown.markdown` to set the base level
of '#' style headers to <h2>.
"""

extensions = ['headerid(level=2)']
safe_mode = False
md = markdown.Markdown(extensions=extensions, safe_mode=safe_mode)
extensions = [HEADERID_EXT_PATH]
extension_configs = {
HEADERID_EXT_PATH: {
'level': '2'
}
}
md = markdown.Markdown(
extensions=extensions, extension_configs=extension_configs
)
return md.convert(text)
except ImportError:
apply_markdown = None
Expand Down

0 comments on commit c2e9470

Please sign in to comment.