作为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 |