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 -
- 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