Skip to content

Commit

Permalink
refactor: Explicitly use MarkupSafe
Browse files Browse the repository at this point in the history
  • Loading branch information
oprypin authored and pawamoy committed Dec 16, 2020
1 parent 6453026 commit 6b9ebe7
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
2 changes: 2 additions & 0 deletions pyproject.toml
Expand Up @@ -20,7 +20,9 @@ include = [

[tool.poetry.dependencies]
python = "^3.6"
Jinja2 = "^2.11"
Markdown = "^3.3"
MarkupSafe = "^1.1"
mkdocs = "^1.1"
pymdown-extensions = ">=6.3, <9.0"
pytkdocs = ">=0.2.0, <0.10.0"
Expand Down
12 changes: 6 additions & 6 deletions src/mkdocstrings/handlers/base.py
Expand Up @@ -17,8 +17,8 @@
from typing import Any, Dict, Optional, Sequence

from jinja2 import Environment, FileSystemLoader
from jinja2.filters import do_mark_safe
from markdown import Markdown
from markupsafe import Markup
from pymdownx.highlight import Highlight

from mkdocstrings.loggers import get_template_logger
Expand Down Expand Up @@ -68,8 +68,8 @@ def do_highlight(
result = highlighter.highlight(src=src, language=language, linestart=line_start, inline=inline)

if inline:
return do_mark_safe(f'<code class="highlight language-{language}">{result.text}</code>')
return do_mark_safe(result)
return Markup(f'<code class="highlight language-{language}">{result.text}</code>')
return Markup(result)


def do_js_highlight(
Expand Down Expand Up @@ -102,8 +102,8 @@ def do_js_highlight(
src = textwrap.dedent(src)
if inline:
src = re.sub(r"\n\s*", "", src)
return do_mark_safe(f'<code class="highlight">{src}</code>')
return do_mark_safe(f'<div class="highlight {language or ""}"><pre><code>\n{src}\n</code></pre></div>')
return Markup(f'<code class="highlight">{src}</code>')
return Markup(f'<div class="highlight {language or ""}"><pre><code>\n{src}\n</code></pre></div>')


def do_any(seq: Sequence, attribute: str = None) -> bool:
Expand Down Expand Up @@ -198,7 +198,7 @@ def update_env(self, md: Markdown, config: dict) -> None:
"""
# Re-instantiate md: see https://github.com/tomchristie/mkautodoc/issues/14
md = Markdown(extensions=config["mdx"], extension_configs=config["mdx_configs"])
self.env.filters["convert_markdown"] = lambda text: do_mark_safe(md.convert(text))
self.env.filters["convert_markdown"] = lambda text: Markup(md.convert(text))


class BaseCollector(ABC):
Expand Down

0 comments on commit 6b9ebe7

Please sign in to comment.