跳转到主要内容

在clld应用程序中渲染CLDF markdown。

项目描述

clld-markdown-plugin

在clld应用程序中渲染CLDF markdown

使用方法

在您的应用程序的main函数中包含(并配置插件)

def main(global_config, **settings):
    settings['clld_markdown_plugin'] = {
        'model_map': {'ValueTable': common.ValueSet},
        'function_map': {}
    }
    config = Configurator(settings=settings)
    config.include('clld.web.app')
    ...
    config.include('clld_markdown_plugin')

然后您可以在模板中使用clld_markdown_plugin.markup,如下所示

<%! from clld_markdown_plugin import markdown %>

${markdown(req, '[x](LanguageTable#cldf:abad1241)')|n}

默认情况下,CLDF数据集中的对象链接将渲染为指向clld应用程序中相应对象详情页面的HTML链接。

配置

可以通过以下四个配置选项配置插件

  • model_map:将CLDF组件名称映射到为应用程序定义的DB模型类的dict。这允许CLDF组件和clld DB类之间进行灵活映射。
  • renderer_map:详情见下文。
  • extensions:要激活的markdown扩展的列表,以点表示法,在调用markdown函数时激活。
  • keep_link_labels:一个表示是否保留CLDF Markdown文本中链接标签的布尔值。默认情况下(False),标签将使用链接对象的名称进行替换。

渲染器调用函数

clld_markdown_plugin配置选项的renderer_map接受一个将CLDF组件名称映射到具有以下签名的Python可调用对象的字典

import clld.web.app


def renderer(req: clld.web.app.ClldRequest, objid: str, table, session: clld.db.meta.DBSession, ids=None) -> str:
    """
    The returned `str` is interpreted as Markdown, so it may also include HTML.
    """

项目详情


下载文件

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

源代码分布

clld_markdown_plugin-0.5.0.tar.gz (9.5 kB 查看哈希值

上传时间 源代码

构建分布

clld_markdown_plugin-0.5.0-py3-none-any.whl (9.0 kB 查看哈希值

上传时间 Python 3

由以下支持