Python mistune 模块,Renderer() 实例源码
我们从Python开源项目中,提取了以下5个代码示例,用于说明如何使用mistune.Renderer()。
def article_detail_handler(request, article_id):
account = request.Meta["user_info"]
result = dict()
renderer = mistune.Renderer(hard_wrap=True, parse_inline_html=True)
markdown = mistune.Markdown(renderer=renderer)
article = BlogArticle.query_article_by_id(article_id)
article["content"] = markdown(article["content"])
article["comment_list"] = BlogComment.query_comment_list(article_id, account.id if account else 0)
result["article"] = article
if account:
article["Meta_info"]["liked"] = 1 if BlogLike.query_like_blog(account.id, article_id) else 0
result["user_info"] = UserInfo.query_format_info_by_user_id(request.Meta["user_info"].id)
# ?????? ????????????????????
author_id = article["user_info"]["id"]
if not account or author_id != account.id:
BlogArticleMeta.change_Meta_record(article_id, author_id, ["hit"])
# ????
BlogArticle.query_article_by_id(article_id, False)
return render(request, "article/detail.html", result)
def edit_article_handler(request, article_id):
"""
???? ????
"""
result = base_result()
user_id = request.Meta["user_info"].id
if article_id != "0":
result["data"] = BlogArticle.query_article_by_id(article_id)
renderer = mistune.Renderer(hard_wrap=True, parse_inline_html=True)
markdown = mistune.Markdown(renderer=renderer)
result["mark_down"] = markdown(result["data"]["content"])
else:
result["mark_down"] = None
del result["data"]
result["kind_list"] = BlogKind.query_user_kind(1)
result["user_info"] = UserInfo.query_format_info_by_user_id(user_id)
return render(request, "manage/edit.html", result)
def markdown_engin(ori_str=""):
renderer = mistune.Renderer(hard_wrap=True, parse_inline_html=True)
markdown = mistune.Markdown(renderer=renderer)
return markdown(ori_str)
def get_markdown_renderer( url_transform ):
''' This function returns a markdown renderer which transforms
URLs according to the relative paradigm of mkaestatic.
'''
class MyRenderer( mistune.Renderer ):
def link(self, link, title, text):
link = url_transform(link)
return super(MyRenderer, self).link(link, text)
def image(self, src, alt_text):
src = url_transform(src)
return super(MyRenderer, self).image(src, alt_text)
return mistune.Markdown(renderer=MyRenderer(escape=True, use_xhtml=True))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。