作为Django视图提供.md页面。
项目描述
作为Django视图提供.md页面。
此软件包旨在使在Django网站上提供.md文件变得简单。
安装
使用 pip install django-markdown-view 进行安装。
将 'markdown_view' 添加到您的 INSTALLED_APPS 设置中。
INSTALLED_APPS = [ ..., 'markdown_view', ... ]
- (可选) 将 MARKDOWN_VIEW_BASE_DIR 或 BASE_DIR 添加到设置中
应用程序基础字典。参见下文设置
例如,如果设置在 config/settings/base.py 中,那么
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
使用方法
视图
从 markdown_view.views 中使用 MarkdownView、LoggedInMarkdownView 或 StaffMarkdownView 之一来服务 .md 文件
from markdown_view.views import StaffMarkdownView
path('readme/',
StaffMarkdownView.as_view(file_name='my_app/README.md'),
name="readme"),
设置
所有设置都是可选的。有关默认值,请参阅 markdown_view/constants.py
MARKDOWN_VIEW_BASE_DIR 和 BASE_DIR
当存在时,该值被视为 Django 的 django.template.utils.get_app_template_dirs 在传递 dirname="" 时返回的目录列表的附加位置。这用于在项目的根目录中定位 .md 文件,例如 README.md 文件。如果找不到 MARKDOWN_VIEW_BASE_DIR,则查找 BASE_DIR。
MARKDOWN_VIEW_LOADERS
定位 .md 文件的加载器列表。默认列表仅包括 markdown_view.loaders.MarkdownLoader,它将默认尝试从 INSTALLED_APPS 包的根目录加载 .md 文件,这与 Django 的 django.template.loaders.app_directories.Loader 从“templates”加载的方式大致相同。
MARKDOWN_VIEW_LOADER_TEMPLATES_DIR
在 INSTALLED_APPS 包中查找 .md 文件的目录名称。默认为“”,以便在根目录中查找 .md 文件。
MARKDOWN_VIEW_EXTENSIONS
要启用的扩展。以下扩展默认启用
- toc:
生成目录。如果从扩展中删除 toc,则必须将 MARKDOWN_VIEW_TEMPLATE_USE_TOC 设置为 False。
- tables:
启用表格。
- fenced_code:
启用代码块。如果从扩展中删除 fenced_code,则可以禁用提供代码块高亮的 MARKDOWN_VIEW_TEMPLATE_USE_HIGHLIGHT_JS。
- markdown_view.markdown_extensions.ImageExtension:
使图片在 bootstrap4 中响应式。
有关更多扩展,请参阅 https://python-markdown.github.io/extensions/ 和 https://github.com/Python-Markdown/markdown/wiki/Third-Party-Extensions
您可以通过遵循 https://github.com/Python-Markdown/markdown/wiki/Tutorial-1—Writing-Extensions-for-Python-Markdown 创建自己的扩展
MARKDOWN_VIEW_TEMPLATE
将用于将 Markdown 生成的 HTML 渲染的 Django 模板。设置自己的模板以设置您的页面样式。上下文包括
- markdown_content:
从 Markdown 生成的 HTML。
- use_highlight_js:
如果启用了 highlight.js。
- use_toc:
如果应该渲染目录。
- markdown_toc:
Markdown 标题的目录。当 use_toc 为 False 时未设置。
- page_title:
对页面标题的猜测,目前它是 TOC 的第一行。当 use_toc 为 False 时未设置。
MARKDOWN_VIEW_TEMPLATE_USE_TOC
是否渲染目录。如果为 false,在模板上下文中,use_toc 为 False,且 markdown_toc 和 page_title 不存在。
MARKDOWN_VIEW_TEMPLATE_USE_HIGHLIGHT_JS
是否在模板中加载和激活 highlight.js 库。
实验设置
MARKDOWN_VIEW_USE_REQUEST_CONTEXT
如果请求上下文应作为创建内部渲染 Markdown 的上下文的基础时使用。这是因为 Markdown 首次渲染,以便在前面添加 {% load static %}。这没有经过很好的测试;请自行尝试。
MARKDOWN_VIEW_EXTRA_CONTEXT
要发送到 Markdown 内部渲染的任何额外上下文。可用于将上下文暴露给嵌入在 Markdown 中的模板标记。这没有经过很好的测试;请自行尝试。
实现
在较高层次上,MarkdownView 将
使用模板加载器定位 file_name 给出的 .md
以模板形式渲染,将 .md 文件的 内容与 {% load static %} 预加到几个上下文变量中
使用上下文变量服务 MARKDOWN_VIEW_TEMPLATE
发行说明和贡献者
贡献
需求
我们期望支持目前支持的 Django 版本。
“已测试与”部分描述了期望目标。
已测试与
Python: 3.6, 3.7, 3.8, 3.9, 3.10
Django: 2.2, 3.2, 4.0
项目详情
django-markdown-view-0.0.5.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 87b453b74fe62cce3f8c3782b98951b1f82ad8253f330ddea719bace8a300101 |
|
MD5 | 0a2d7f4e5d937758922232755d15f3bc |
|
BLAKE2b-256 | 77ef2217cf57c74ed7daf849fb0315c7e8c228ceac0a01b68979b2754768de63 |
django_markdown_view-0.0.5-py2.py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8476ba884d3653ec438a4ac8c2c0db62693b162d1e7758555795aa21ff989d76 |
|
MD5 | 37620f627394b73bd20c2d56eb5989aa |
|
BLAKE2b-256 | 8b6ee4ae46c4d6cc92eaf6da1e470c6187e60d8de79aa9cfa904d04eabf5edc4 |