diff --git a/scripts/generate-catalog.py b/scripts/generate-catalog.py
index 32fb31a9..994fd1b6 100644
--- a/scripts/generate-catalog.py
+++ b/scripts/generate-catalog.py
@@ -121,6 +121,7 @@ def __init__(
total_count = 1
offset = 0
end = 1
+ end_log = 1
else:
assert "LATEST_COMMIT" in os.environ
latest_commit = int(os.environ["LATEST_COMMIT"])
@@ -137,6 +138,7 @@ def __init__(
)
# check before downloading a repo if it has a Snakefile
end = min(offset + n_repos, total_count)
+ end_log = total_count if end == total_count else end - 1
repo_list = []
for i in range(offset, end):
checked_repo = call_rate_limit_aware(lambda: repo_search[i], api_type="search")
@@ -145,7 +147,7 @@ def __init__(
logging.info(
- f"Checking {total_count} repos ({offset}-{end-1}), of which {len(repo_list)} have a Snakefile."
+ f"Checking repos {offset}-{end_log} (total: {total_count}), of which {len(repo_list)} have a Snakefile."
)
for i, repo in enumerate(repo_list):
@@ -154,7 +156,7 @@ def __init__(
time.sleep(5)
if i % 10 == 0:
- logging.info(f"{i} of {total_count} repos done.")
+ logging.info(f"{i} of {len(repo_list)} repos done.")
log_skip = lambda reason: logging.info(
f"Skipped {repo.full_name} because {reason}."
diff --git a/source/_static/custom.css b/source/_static/custom.css
index e4ea73ad..3cb6d24d 100644
--- a/source/_static/custom.css
+++ b/source/_static/custom.css
@@ -1,11 +1,17 @@
.image-reference img {
- display: inline;
+ display: block;
+ text-align: center;
}
.image-reference {
border-bottom: none !important;
}
+.rounded-img {
+ border-radius: 10px;
+ overflow: hidden;
+}
+
table code.literal {
white-space: nowrap !important;
}
diff --git a/source/_static/news_item1.png b/source/_static/news_item1.png
new file mode 100644
index 00000000..43c5deb1
Binary files /dev/null and b/source/_static/news_item1.png differ
diff --git a/source/_static/news_item2.png b/source/_static/news_item2.png
new file mode 100644
index 00000000..839b8ac1
Binary files /dev/null and b/source/_static/news_item2.png differ
diff --git a/source/_templates/workflows_by.md b/source/_templates/workflows_by.md
index cc4148d5..e7f1a677 100644
--- a/source/_templates/workflows_by.md
+++ b/source/_templates/workflows_by.md
@@ -1,6 +1,6 @@
# Top workflows by {{ input[0]["metric"] }}
-::::{grid} 3
+::::{grid} 1 2 3 3
{% for repo in input -%}
diff --git a/source/index.md b/source/index.md
index 54f8b770..26a8ea08 100644
--- a/source/index.md
+++ b/source/index.md
@@ -23,15 +23,35 @@ docs/catalog
# Snakemake workflow catalog
-
-
-
+## News
+
+#### 2026-04-13
+
+We are excited to launch **two new features** in the Snakemake Workflow Catalog that make automatic display of workflow pages both easier and more visually appealing:
+
+1. The Catalog now supports automatic rendering of **Tube Maps** using [snakevision](https://github.com/OpenOmics/snakevision). Tube maps will automatically show up on your workflow page if the workflow has an executable test case in `.test` ([details](docs/about/adding_workflows)).
+
+```{image} _static/news_item1.png
+:alt: example tube map rendering
+:width: 90%
+:align: center
+:class: rounded-img
+```
+
+2. The Catalog will automatically render a **Workflow Parameter Table** if your workflow repo contains a `workflow/schemas/config.schema.y(a)ml` or `config/schemas/config.schema.y(a)ml` ([details](docs/about/adding_workflows)). No need to manually maintain a table of parameters on your workflow page anymore.
+
+```{image} _static/news_item2.png
+:alt: example parameter table rendering
+:width: 90%
+:align: center
+:class: rounded-img
+```
## About
The Snakemake Workflow Catalog aims to provide a regularly updated list of high-quality workflows that can be easily reused and adapted for various data analysis tasks. By leveraging the power of [**Snakemake**](https://snakemake.github.io/), these workflows promote:
-::::{grid} 3
+::::{grid} 1 2 3 3
:::{grid-item-card} **Reproducibility**
Snakemake workflows produce consistent results, making it easier to share and validate scientific findings.
@@ -72,6 +92,7 @@ Report issues or ideas on Github 📢
::::{grid} 1
:::{grid-item-card}
+
:::
:::{grid-item-card}
@@ -94,6 +115,6 @@ Report issues or ideas on Github 📢
## Contributing
- Improving PRs or issues with the workflow catalog (only the catalog, not the workflows themselves) can be made [here](http://github.com/snakemake/snakemake-workflow-catalog)
-- Improving PRs or issues with the listed workflows can be made at the respective workflow repository (see individual [workflow pages]()).
-- Resources for creating new workflows can be found [here]() or in more detail on the [Snakemake documentation](https://snakemake.readthedocs.io/en/stable/index.html)
-- New workflows will be [automatically added]() to the workflow catalog if they are contained in eligible Github repositories
+- Improving PRs or issues with the listed workflows can be made at the respective workflow repository (see individual [workflow pages](docs/all_standardized_workflows)).
+- Resources for creating new workflows can be found [here](docs/snakemake) or in more detail on the [Snakemake documentation](https://snakemake.readthedocs.io/en/stable/index.html)
+- New workflows will be [automatically added](docs/catalog) to the workflow catalog if they are contained in eligible Github repositories