夹层中RichText内容的降价。

mezzanine-mdown的Python项目详细描述


这个包为支持管理员的夹层提供小部件和过滤器 使用标记格式创建网站内容,而不是使用 tinymce编辑器生成在rich content类型中使用的html,例如 rich pagesblog posts

安装

拿到包裹

管道:

user@home:~$ pip install mezzanine-mdown

易于安装:

user@home:~$ easy_install mezzanine-mdown

准备静态介质

使用优秀的 staticfiles应用程序,mdown的 静态文件应该自动获取。

如果staticfiles应用程序不是您的风格,则需要找到安装 mdown包的位置(通常是python解释器的 site-packages目录)并将/symlinkmdown/static/mdown复制到 项目site_media目录。

配置

首先,将mdown添加到项目设置模块中的INSTALLED_APPS列表中。

安装了应用程序后,您需要做出一些选择。你必须 指定RICHTEXT_WIDGET_CLASSRICHTEXT_FILTER值 设置模块。

richtext小部件类

此软件包为此设置提供两个选项。

mdown.forms.wmdwidget
激活wmd富文本编辑器。(推荐)
mdown.forms.PlainWidget
使用纯文本区域(没有富文本编辑器)。

富文本过滤器

同样,此设置有两个选项。

mdown.filters.codehilite
使用 已启用代码隐藏扩展。
mdown.filters.plain
使用普通标记格式呈现内容。

额外步骤

pygments样式

使用管理命令pygments_styles可以生成css 对codehilite筛选器解析的代码块进行着色。

注意:这需要安装pygments(使用pip install pygments 或者easy_install pygments使用此功能)。

调用不带参数的命令以查看可用的用法消息和列表 系统上的配色方案。:

user@home:~/mysite$ ./manage.py pygments_styles
Usage: ./manage.py pygments_styles <scheme_name>
Available color schemes:
  borland
  bw
  colorful
  default
  ... [ snip ] ...

以scheme的名称作为参数调用将把css打印到stdout,您可以 重定向到如下文件:

user@home:~/mysite$ ./manage.py pygment_styles colorful > site_media/css/pygments.css

除了这个单一的scheme方法之外,该命令还接受--all 标志,它将生成所有可用的样式,但只有一个键 区别:每个方案的前缀都是css类名。这个 在主题开发期间很方便,因为您可以快速切换pygments方案 只需将body标签上的类设置为您选择的方案 必须不断地重新生成css文件。

生成css文件后,只需将其添加到站点的基础中 模板,让你的代码“漂亮”打印。

更新主题模板

基于默认主题并在 mezzanine的0.11.3版本很可能没有richtext_filter 应用于rich content。要更正此问题,只需更新 这些内容类型的模板,以便使用筛选器。

例如,在默认主题中, templates/blog/blog_post_detail.html有一行是从以下位置更新的:

{{ blog_post.content|safe }}

收件人:

{{ blog_post.content|richtext_filter|safe }}

只要确保safe过滤器在richtext_filter之后。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaGWT:何时使用Lazydemelement?   Java中跟踪消失线程的多线程处理   java Springboot未能配置数据源:“url”,但我没有使用数据库   java为按钮生成随机位置   math Java:包含二项式系数计算的表达式   java通过AsyncTask传递参数   从路径错误创建java文件   高流量网站的性能播放框架、Java、Apache、PostgreSQL、JPA和Hibernate   java将4D矢量转换为长矢量   arraylist Java循环在没有任何错误的情况下终止   java正在制作一个计算器应用程序,希望在第二个片段中更新历史,但无法完成   java将信息从IntentService发送到Activity   java如何在游戏中插入大量实体!工作   javascript如何在ScriptEngineforJava中从数学中获得准确的结果?