One of the key features of the theme is support for a central tool and resource table. Tools that are mentioned in multiple places can be described once and reused across the website. These metadata fields can automatically populate a tools and resources table at the bottom of a page when the correct tool snippet is used in the page content.
Way of working
The all tools and resources list is based on the YAML file in the _data directory. Tools and resources can be manually linked to FAIRsharing.org, Bio.tools, TeSS and Europe PMC.
Prerequisites
- The main YAML file describing the tools is
tool_and_resource_list.ymlin/_dataand must use valid YAML syntax. - Make sure Markdown pages where you mention tools have a
page_idin their front matter. Thepage_idshould not contain hyphens; see the metadata documentation. - When using the tool tag:
gem "elixir-toolkit-theme-plugins"is added to the/Gemfile- elixir-toolkit-theme-pluginsis added to the plugins block in the_config.ymlfile- A recent version of the ELIXIR Toolkit Theme is used. See the
remote_theme: ELIXIR-Belgium/elixir-toolkit-theme@VERSIONline in the_config.ymlfile. - GitHub Actions is used to deploy the website. See instructions.
The main YAML file
Each tool or resource mentioned in the text has metadata stored in the main YAML file. The metadata block for each tool can contain the following attributes:
id: The ID of a tool, in kebab-case, lowercase with hyphens.name: Name of the tool or resource.url: Main URL of the tool or resource. Make sure it starts withhttps://.description: Short description of the tool or resource. Avoid the characters"and'.registry: Four registries are supported: Bio.tools, FAIRsharing.org, TeSS and Europe PMC. Use the keysbiotools,fairsharing,tessandeuropmc, specifying the ID or query after a colon. FAIRsharing records should use the DOI suffix, without theFAIRsharing.prefix. List registries under theregistryattribute as key-value pairs.related_pages: List ofpage_idvalues. Avoid using this together with the{% tool "tool_id" %}snippet in the page text.how_to_access: Free-text field describing how the tool or resource can be accessed.
Example:
- id: github
name: GitHub
url: https://github.com
description:
Versioning system, used for sharing code, as well as for sharing of
small data
registry:
tess: GitHub
NAas registry value is skipped and will not be rendered as a URL.
What tool or resource can be added to the table
Tools and resources specifically mentioned in page text should be present in the main table.
Adding new tools
-
Make sure the tool you want to add is not already described in the YAML file. If it is already present, go to step 3. If not, follow the next step.
-
Click the pencil icon in the GitHub view of the main YAML file, as described in our GitHub Guide. Add your tool or resource at the bottom of the file using the structure described in The main YAML file. Match the indentation of the existing items. When in doubt, validate the YAML before committing it.
-
Copy the
tool_idof the tool or resource -
Add the tool in the text using the following syntax:
{% tool "tool_id" %}Examples:
Use this snippet:
{% tool "zenodo" %} is a powerful data publication service, which is supported by the European commission and focused on research data, including supplemental material like software, tables, figures or slides.This renders as:
Zenodo is a powerful data publication service, which is supported by the European commission and focused on research data, including supplemental material like software, tables, figures or slides.
Use this snippet:
{% tool "beacon" %} is a GA4GH standard which enables standardised querying across multiple sources.This renders as:
Beacon v2 with a very long name + description is a GA4GH standard which enables standardised querying across multiple sources.
Add double quotes around the
tool_idand make sure to use the exacttool_idfrom the YAML file.
Listing all resources
By default, the table at the bottom of the page appears when tools are mentioned in the text or tagged with the correct page_id, as shown at the bottom of this page under “Tools and resources on this page”. To manually list all tools and resources described in your website, use this snippet:
{% include resource-table-all.html %}
This renders as:
| Tool or resource | Description | Related pages | Registry |
|---|---|---|---|
| Beacon v2 with a very long name + description | API framework and data model for cross-cohort searching. | Standards/Databases Publication | |
| Bioconda | Bioconda is a bioinformatics channel for the Conda package manager | General page 1 General page 2 | Tool info Training |
| Bitbucket | Git based code hosting and collaboration tool, built for teams. | General page 2 | |
| GitHub | Versioning system, used for sharing code, as well as for sharing of small data
|
General page 1 | Standards/Databases Training |
| GitLab | GitLab is an open source end-to-end software development platform with built-in version control, issue tracking, code review, CI/CD, and more. Self-host GitLab on your own servers, in a container, or on a cloud provider. | General page 1 | Training |
| Infectious Diseases Toolkit (IDTk) | Discover tools and best practices for working with infectious disease data. IDTk provides general guidance as well as specific information for pathogen characterisation, socioeconomic data, human biomolecular data, and human clinical and health data. | ||
| Zenodo | Generalist research data repository built and developed by OpenAIRE and CERN
GitHub
|
Standards/Databases Training | |
| Belgian workflow repository | Example country-level resource with a URL, registry mappings and related pages.
GitHub
|
General page 5 General page 2 | Tool info Training |
| National training catalogue | Example resource without an external URL, useful for checking how optional links are hidden. |
General page 5 | |
| Local support contact | Example resource with only a name and description. |
Tools and resources on this page
| Tool or resource | Description | Related pages | Registry |
|---|---|---|---|
| Beacon v2 with a very long name + description | API framework and data model for cross-cohort searching. | Standards/Databases Publication | |
| Zenodo | Generalist research data repository built and developed by OpenAIRE and CERN
GitHub
|
Standards/Databases Training |