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 中,容器包含人员列表和组织列表。默认渲染将创建两个表格,每行代表一个个人或组织。
如果有很多插槽,这可能导致表格很宽。
如果将 persons
或 organizations
插槽映射到 RenderType.description_list
,则相反,每个项目都会获得自己的描述列表,从而生成更长更窄的页面。
局限性和未来计划
目前,在样式表和架构元素如何映射到输出元素方面,可定制的限制
HTML 生成目前硬编码为使用 Bootstrap。
这里的功能可能最终会包含到未来的 linkml.js 库中。在此期间,框架可能扩展以包括基于表单的交互式数据输入。
该库尚未在广泛的数据上进行了测试。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
构建分发
linkml_renderer-0.3.1.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f600ca96d603e53b7187abe1dc9c417334bd96756d3e4f704a96892f6b28ba5a |
|
MD5 | 001d64f43a5c54df902c6c621f33d7c4 |
|
BLAKE2b-256 | 62fab160433f9a0ed8b71e01b05d6e3c0d5166f5368209c24d7bc1081bfc4422 |
linkml_renderer-0.3.1-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3737247ecc349c270b849c55593719fb457b385223ef8f75e7e7b0da11eb12e3 |
|
MD5 | 1636c62217403876561331047535f249 |
|
BLAKE2b-256 | e46dc5791f79c92d218c35ff18eca8a353dc563792f2cee25630c541f85fdf14 |