Skip to main content

clld-markdown-plugin

Render CLDF markdown in clld apps

Usage

Include (and configure the plugin) in your app's main function:

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')

Then you can use clld_markdown_plugin.markup as follows in your templates:

<%! from clld_markdown_plugin import markdown %>

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

By default, links to objects in the CLDF dataset will be rendered as HTML links to the corresponding object's details page in the clld app.

Configuration

The plugin can be configured via the following four configuration options:

  • model_map: A dict mapping CLDF component names to DB model classes defined for the app. This allows for a flexible mapping between CLDF components and the clld DB classes.
  • renderer_map: See below for details.
  • extensions: A list of markdown extensions in dot notation, to be activated when calling the markdown function.
  • keep_link_labels: A boolean indicating whether to keep link labels as they appear in the CLDF Markdown text. By default (False), labels will be substituted using the linked object's name.

Renderer callables

The renderer_map configuration option for clld_markdown_plugin accepts a dict mapping CLDF component names to Python callables with the following signature:

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.
    """

Release files for clld-markdown-plugin 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clld-markdown-plugin 1.0.0
File Size Uploaded
clld_markdown_plugin-1.0.0.tar.gz 9.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for clld-markdown-plugin 1.0.0
File Interpreter ABI Platform
clld_markdown_plugin-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 19.1 kB

Release files / clld_markdown_plugin-1.0.0.tar.gz

Download URL clld_markdown_plugin-1.0.0.tar.gz
Size 9.8 kB
Tags Source
SHA-256 checksum
How to use checksums
5509fce00c072690f334a65165d104f2553594ba73e1fe603f11dd4e3245b251
BLAKE2b-256 checksum
How to use checksums
7850aa664341ea4693279d6b6cc163035a56c684c327a11387932c465748030c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.3

Release files / clld_markdown_plugin-1.0.0-py3-none-any.whl

Download URL clld_markdown_plugin-1.0.0-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b965be67527ac4498bb8561654986acf7a96f55feae60ff9465f81bce968b66f
BLAKE2b-256 checksum
How to use checksums
ff92236f26e4ad00e04651dbe5345f375219b719dfc80006cbf4a567808fde5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.3

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page