跳转到主要内容

linkml-renderer

项目描述

linkml-renderer

从LinkML数据生成HTML、Markdown、Mermaid和其他渲染文件。

这将在实例数据和目标输出文件之间应用可配置的通用映射。这是生成数据可视化表示的“无代码”方法的一个示例。

通常,编写特定于您的模式的自定义代码(例如在Jinja中)可能会产生更用户友好的结果。LinkML-renderer应仅在没有足够开发资源编写自定义代码的情况下使用。

状态:实验性

命令行使用

至少,您必须传递一个模式(LinkML YAML)和一个符合该模式实例数据文件

linkml-render -s my-schema.yaml my-data.yaml

或指定输出文件

linkml-render -s my-schema.yaml my-data.yaml -o output.html

默认输出类型是HTML。

要生成其他格式

linkml-render -s my-schema.yaml -f markdown my-data.yaml -o output.md

您可以使用--config(`-c`)传递配置文件。

linkml-render -s my-schema.yaml my-data.yaml -c my-config.yaml

YAML文件应遵循datamodel配置对象样式。(注意:此模型的自动文档将在以后生成,目前请参考LinkML文件)。

Python使用

当这个库成熟时,Python文档将从主LinkML文档中链接。

目前,请直接在源代码中查看文档字符串,并在测试文件夹中查看示例。

查看最小化 Sphinx 文档:https://linkml.github.io/linkml-renderer

输出类型

  • HTML
  • Markdown
  • Mermaid

注意,Mermaid 可以选择性地嵌入到 HTML 或 Markdown 中。

工作原理

输入对象被视为一棵树,树中的节点递归访问,以产生所需的格式输出。

对于 HTML 和 Markdown 生成,应用以下默认规则

  • 单数外部对象被转换为描述列表
  • 对象列表被转换为表格

这些规则是上下文相关的

  • 表格不嵌套在表格内

这些规则也可以进行配置。请参阅样式架构和测试用例以获取详细信息。

例如,在 person infoschema 中,容器包含人员列表和组织列表。默认渲染将创建两个表格,每行代表一个个人或组织。

如果有很多插槽,这可能导致表格很宽。

如果将 personsorganizations 插槽映射到 RenderType.description_list,则相反,每个项目都会获得自己的描述列表,从而生成更长更窄的页面。

局限性和未来计划

目前,在样式表和架构元素如何映射到输出元素方面,可定制的限制

HTML 生成目前硬编码为使用 Bootstrap。

这里的功能可能最终会包含到未来的 linkml.js 库中。在此期间,框架可能扩展以包括基于表单的交互式数据输入。

该库尚未在广泛的数据上进行了测试。

项目详情


下载文件

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

源代码分发

linkml_renderer-0.3.1.tar.gz (18.9 kB 查看哈希)

上传时间 源代码

构建分发

linkml_renderer-0.3.1-py3-none-any.whl (25.2 kB 查看哈希)

上传时间 Python 3

支持者

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