跳转到主要内容

一个将reStructuredText转换为HTML的Mezzanine应用程序,使用Sphinx

项目描述

Meze为Mezzanine添加了Sphinx风味。您可以使用reStructuredText编写您的博客文章和页面,并通过Sphinx将其转换为HTML。

使用示例

请参阅以下使用示例:http://ahmetbakan.com/blog/category/meze/

需求

Sphinx是转换reStructuredText源所必需的。

安装

您可以使用easy_installpip

easy_install -U mezzanine-meze
pip install mezzanine-meze

或从https://pypi.python.org/pypi/mezzanine-meze下载包,并使用setup.py进行安装。

快速入门

在您的项目settings.py文件中进行以下更改

  1. 将“meze”添加到INSTALLED_APPS

    INSTALLED_APPS = (
        ...
        'meze',
    )
  2. sourceconvert字段注入到mezzanine.blog.models.BlogPostmezzanine.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文档中的字段注入注意事项

  3. 更新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

  4. 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 文件的内容存储在数据库中。

源代码

https://github.com/abakan/mezzanine-meze

变更

v0.3(2014 年 1 月 10 日)

  • 将静态文件移动到 meze 文件夹。

  • 将静态文件添加到 setup.py

v0.2.2(2013 年 10 月 11 日)

  • STATIC_ROOTMEDIA_ROOT 文件夹中搜索图像。

  • 改进了在 HTML 中修改图像源,以避免找不到图像文件时抛出异常。

v0.2.1(2013 年 7 月 17 日)

  • 修复了 Meze 类中的一个错误,该错误阻止了 Sphinx 配置的更改生效。

v0.2(2013 年 7 月 12 日)

  • 改进了对图像文件的处理。

v0.1(2013 年 7 月 11 日)

  • 第一个版本。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。

源代码分发

mezzanine-meze-0.3.zip (13.7 kB 查看哈希值

上传时间 源代码

mezzanine-meze-0.3.tar.gz (10.0 kB 查看哈希值

上传时间 源代码

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面