Skip to main content

Adding bioschemas to mkdocs

A small markdown extension to add bioschemas to mkdocs. It requires a yaml or json file with bioschemas markup, and adds it to the rendered html.

addbioschemas is a plain Python-Markdown extension, so it also works with Zensical, the static site generator built by the Material for MkDocs team. Zensical reads mkdocs.yml directly and runs Python-Markdown extensions unchanged, so everything below applies to Zensical projects as-is — no separate configuration is needed.

Installation

pip install addbioschemas

To use the plugin simply add addbioschemas to the list of plugins in mkdocs.yml:

markdown_extensions:
  - addbioschemas

Usage

Option 1: add the bioschemas file name to the markdown file

Simply add [add-bioschemas file='path/to/yaml/metadata.yaml'] to the markdown file where you want to add the bioschemas. This method supports multiple metadata files.

A markdown snippet of a page where you want to add bioschemas to:

# awesome title
[add-bioschemas file='path/to/yaml/metadata.yaml']
I started with some YAML and turned it into JSON-LD

Important: If you are using mkdocs-material, make sure there is markdown before the insertion of [add-bioschemas]. Otherwise, other plugins will add incorrect tags to the json-LD chunk.

The contents of path/to/yaml/metadata.yaml use the bioschemas properties:

"@context": https://schema.org/
"@type": LearningResource
"@id": https://elixir-europe-training.github.io/ELIXIR-TrP-LessonTemplate-MkDocs/
http://purl.org/dc/terms/conformsTo:
  "@type": CreativeWork
  "@id": https://bioschemas.org/profiles/TrainingMaterial/1.0-RELEASE
description: Template for ELIXIR lessons
keywords: FAIR, OPEN, Bioinformatics, Teaching
name: ELIXIR Training Lesson template
# lookup at https://spdx.org/licenses/
license: CC-BY-4.0
author:
- "@type": Person
  name: Geert van Geest
  email: geert.vangeest@sib.swiss
  github: GeertvanGeest
  orcid: 0000-0002-1561-078X
- "@type": Person
  name: Elin Kronander
  github: elinkronander
  orcid: 0000-0003-0280-6318

addbioschemas also supports the json format.

Option 2: add the bioschemas file name to mkdocs.yml

Specify the path to the yaml file in mkdocs.yml. This method only supports one metadata file.

Add to mkdocs.yml:

markdown_extensions:
  - addbioschemas:
      metadata: 'path/to/yaml/metadata.yaml'

A markdown snippet of a page where you want to add bioschemas to:

# awesome title
[add-bioschemas]
I started with some YAML and turned it into JSON-LD

Important: If you are using mkdocs-material, make sure there is markdown before the insertion of [add-bioschemas]. Otherwise, other plugins will add incorrect tags to the json-LD chunk.

Using with Zensical

Zensical can read an existing mkdocs.yml file directly, and runs the same Python-Markdown extensions without changes, so both options above work in a Zensical project without modification — just install addbioschemas and keep your mkdocs.yml as is.

If you migrate a project to Zensical's native zensical.toml configuration instead, configure addbioschemas under its markdown_extensions setting the same way you would for any other Python-Markdown extension; see the Zensical documentation for the exact syntax.

Metadata

Release files for addbioschemas 1.0.3

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

Source distribution (sdist)

Source distribution for addbioschemas 1.0.3
File Size Uploaded
addbioschemas-1.0.3.tar.gz 4.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for addbioschemas 1.0.3
File Interpreter ABI Platform
addbioschemas-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 8.7 kB

Release files / addbioschemas-1.0.3.tar.gz

Download URL addbioschemas-1.0.3.tar.gz
Size 4.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a3d89affcb79bc41b0e3b14f311209d3eaebfa8a74d6c9f95886bea54acb6997
BLAKE2b-256 checksum
How to use checksums
a50edb979906949fc1d32b0b065ba8f3f23bf8c601b3812856dc4017435d6d88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / addbioschemas-1.0.3-py3-none-any.whl

Download URL addbioschemas-1.0.3-py3-none-any.whl
Size 4.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
105b3620b31a1124cea0be3f420b269825837e81b7ae92a4fb7871ae47a4ff44
BLAKE2b-256 checksum
How to use checksums
f45a6db6f4b9a6aa677de95235698a9a7f73db804417ec31c327f81f74d82aa3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.2

2 release files

0.0.1

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