One of the themes key features is the support for a central tool and resource table. This means that tools that are mentioned at multiple places on the website, can be described centrally, and these descriptions/metadata fields can be used to automatically populate a tools and resources table at the bottom of the page.
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 and TeSS and EuroPMC.
Prerequisites
- The main yaml file describing the tools is called
tool_and_resource_list.yml
located in/_data
and is using the correct YAML syntax - Make sure MarkDown pages where you want to mention the tools have a
page_id
in their frontmatter, and make sure it has no hyphen, see metadata documentation. - When making use of the new way of tagging tools:
gem "elixir-toolkit-theme-plugins"
is added to the/Gemfile
- elixir-toolkit-theme-plugins
is added to the plugins block in the_config.yml
file- A recent version of the ELIXIR Toolkit Theme is used. See the
remote_theme: ELIXIR-Belgium/elixir-toolkit-theme@VERSION
line in the_config.yml
file.
- 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 consists of 5 attributes:
- id: The ID of a tool, in kebab-case, lowercase with hyphens.
- name: The name of the tool or resource
- url: URL to the main page of the tool or resource, make sure to let the URL start with
https://
- description: A short description of the tool or resource. Try to not use the characters
"
or'
- registry: 3 registries are supported: Bio.tools, FAIRsharing.org, TeSS and EuroPMC. The keywords you can use respectively are:
biotools
,fairsharing
,fairsharing-coll
,tess
andeuropmc
, specifying the id or query with a colon. FAIRsharing collections have an ID that follows the patternbsg-s000XXX
. List registries under theregistry
attribute askey: value pairs
. - related_pages: List of page_ids (It is not advised to use this in combination with the
{% tool "tool_id" %}
snippet in the text) - how_to_access: This is free text feels that describes the accessibility of the tool or resource.
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
NA
as registry value will not be rendered as a url but will be skipped.What tool or resource can be added to the table
Tools and resources specifically mentioned in the text of the pages should be present in the main table.
Adding new tools
-
Make sure the tool you want to add is not yet already described in the yaml file. If yes,go to step 3, if not, go follow the next step.
-
Click on the pencil icon seen on 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 following the structure described in the The main yaml file section of this page. Make sure the indentation follows the one of the previous listed items. Copy the content of the yaml file and paste in in an online yaml validator in case of doubt.
-
Copy the
tool_id
of the tool or resource -
Add the tool in the text by mentioning it using following syntax:
{% tool "tool_id" %}
Examples:
{% 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.
Will give:
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.
{% tool "beacon" %} is a GA4GH standard which enables standardised querying across multiple sources.
Will give:
Beacon v2 with a very long name + description is a GA4GH standard which enables standardised querying across multiple sources.
"
double quotes around the tool_id and make sure to use the exact tool_id as described in the yaml file.Listing all resources
By default, the table at the bottom of the page will appear when tools are mentioned in the text/tagged with the correct page_id as seen at the bottom of this page under the “Tools and resources on this page” heading. To list manually all tools and resources that are described in your website, use following snippet:
{% include resource-table-all.html %}
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 | Template example General page example 2 | Tool info Training |
Bitbucket | Git based code hosting and collaboration tool, built for teams. | General page example 2 | |
GitHub | Versioning system, used for sharing code, as well as for sharing of small data
|
Template example | 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. | Template example | Training |
Zenodo | Generalist research data repository built and developed by OpenAIRE and CERN | Standards/Databases Training | |
Resource name | A general description about the resource
GitHub
|
General page example 5 General page example 2 | Tool info Training |
Resource name 2 | A general description about the resource |
General page example 5 | |
Resource name 3 | A general description about the resource |
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 | Standards/Databases Training |