一个将reStructuredText转换为HTML的Mezzanine应用程序,使用Sphinx
项目描述
Meze为Mezzanine添加了Sphinx风味。您可以使用reStructuredText编写您的博客文章和页面,并通过Sphinx将其转换为HTML。
使用示例
需求
Sphinx是转换reStructuredText源所必需的。
安装
您可以使用easy_install或pip
easy_install -U mezzanine-meze pip install mezzanine-meze
或从https://pypi.python.org/pypi/mezzanine-meze下载包,并使用setup.py进行安装。
快速入门
在您的项目settings.py文件中进行以下更改
将“meze”添加到INSTALLED_APPS
INSTALLED_APPS = ( ... 'meze', )
将source和convert字段注入到mezzanine.blog.models.BlogPost和mezzanine.pages.models.RichTextPage.source模型
help_text = ("Source in reStructuredText format will be converted to " "HTML and result will replace content field.") EXTRA_MODEL_FIELDS = ( # Enable Meze for blog posts ("mezzanine.blog.models.BlogPost.source", "TextField", (), {"blank": True, "help_text": help_text}), ("mezzanine.blog.models.BlogPost.convert", "BooleanField", ("Convert source",), {"default": True}), # Enable Meze for rich text pages ("mezzanine.pages.models.RichTextPage.source", "TextField", (), {"blank": True, "help_text": help_text}), ("mezzanine.pages.models.RichTextPage.convert", "BooleanField", ("Convert source",), {"default": True}), ) del help_text
如果您在创建数据库之后开始使用Meze,您可能需要执行迁移。请参阅Mezzanine文档中的字段注入注意事项。
更新settings.py文件。
添加 MEZE_SETTINGS
MEZE_SETTINGS = { 'workdir': os.path.join(PROJECT_ROOT, 'meze_workdir'), }
显示默认值。您需要写入 workdir 的权限。
为 Sphinx 添加 配置 选项
SPHINX_CONF = """ project = u'' copyright = u'' version = '0' release = '0' master_doc = 'index' pygments_style = 'sphinx' html_theme = 'default' html_sidebars = {'**': []} html_domain_indices = False html_use_index = False html_show_sourcelink = False html_add_permalinks = None source_suffix = '.rst' intersphinx_mapping = {'python': ('https://docs.pythonlang.cn/', None)} extlinks = {'wiki': ('http://en.wikipedia.org/wiki/%s', ''),} extensions = ['sphinx.ext.intersphinx', 'sphinx.ext.extlinks'] """
该文件将写入 Meze workdir。
Sphinx 使用 Pygments 进行语法高亮,因此您需要将 pygments.css 文件添加到您的模板中
{% compress css %} ... <link rel="stylesheet" href="{% static "meze/css/meze.css" %}"> <link rel="stylesheet" href="{% static "meze/css/pygments.css" %}"> ...
如果您正在编写 Python 段落,还可以添加 copybutton.js 文件,以启用代码的友好复制显示选项
{% compress js %} ... <script src="{% static "meze/js/copybutton.js" %}"></script> ...
它是如何工作的?
Meze 通过创建一个简单的配置文件(conf.py)在 workdir 中启动 Sphinx 项目。
reStructuredText 文件写入 workdir,HTML 文件使用 Sphinx 构建,HTML 文件的内容存储在数据库中。
源代码
变更
v0.3(2014 年 1 月 10 日)
将静态文件移动到 meze 文件夹。
将静态文件添加到 setup.py。
v0.2.2(2013 年 10 月 11 日)
在 STATIC_ROOT 和 MEDIA_ROOT 文件夹中搜索图像。
改进了在 HTML 中修改图像源,以避免找不到图像文件时抛出异常。
v0.2.1(2013 年 7 月 17 日)
修复了 Meze 类中的一个错误,该错误阻止了 Sphinx 配置的更改生效。
v0.2(2013 年 7 月 12 日)
改进了对图像文件的处理。
v0.1(2013 年 7 月 11 日)
第一个版本。
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。