Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,12 @@ Non-file mandatory arguments required for the module to run without error SHOULD

## Optional command arguments

All _non-mandatory_ command-line tool _non-file_ arguments MUST be provided as a string via the `$task.ext.args` variable.
All _non-mandatory_ command-line tool _non-file_ arguments MUST be supported in the module via the `$task.ext.args` variable.

Supply `task.ext.args` from the `modules.config` file by assigning a closure that returns a string to `ext.args`.
The closure allows parameters supplied in a config with `-c` to be updated.
The `$args` variable MUST be placed in the module's tool command to allow optional and/or dynamic variables to be specified by a user or a developer.
The contents of this variable is specified by a pipeline developer or user in with the `ext.args` process variable in a `modules.config` or other Nextflow config file using a closure.
Config file are present in pipelines and subworkflows, not for each individual module, except for configs for tests.
The `$ext.args` variable can also be used in module tests to increase the test coverage of a tool's functionality through a companion `nextflow.config` alongside the test files themselves.

```groovy {2} title="<module>.nf"
script:
Expand Down
12 changes: 7 additions & 5 deletions sites/docs/src/pages/docs/[subsection].astro
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@ import { sanitizeNfCoreLabels, addEntriesToSection } from "@utils/functions";
import SidebarSubNav from "@components/sidebar/SidebarSubNav.astro";

export async function getStaticPaths() {
return ["get-started", "users", "developers", "contributors", "specifications", "community", "nf-core-tools"].map((subsection) => ({
params: {
subsection: subsection,
},
}));
return ["get-started", "users", "developers", "contributors", "specifications", "community", "nf-core-tools"].map(
(subsection) => ({
params: {
subsection: subsection,
},
}),
);
}

const { subsection } = Astro.params;
Expand Down
47 changes: 24 additions & 23 deletions sites/docs/src/pages/docs/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -109,19 +109,19 @@ const featuredPages = [
title: "What is nf-core?",
href: "/docs/get_started/nf-core",
icon: "octicon:play-16",
description: "Introduction to the nf-core project and community"
description: "Introduction to the nf-core project and community",
},
{
title: "Environment setup",
href: "/docs/get_started/environment_setup/overview",
icon: "octicon:gear-16",
description: "Set up your system to run nf-core pipelines"
description: "Set up your system to run nf-core pipelines",
},
{
title: "Run your first pipeline",
href: "/docs/get_started/run-your-first-pipeline",
icon: "octicon:terminal-16",
description: "Step-by-step guide to running an nf-core pipeline"
description: "Step-by-step guide to running an nf-core pipeline",
},
];

Expand Down Expand Up @@ -174,20 +174,19 @@ const mainSections = [
},
];


// Define training cards
const trainingCards = [
{
title: "Nextflow documentation",
href: "https://www.nextflow.io/docs/latest/index.html",
icon: "octicon:book-16",
description: "Official Nextflow language documentation and guides"
description: "Official Nextflow language documentation and guides",
},
{
title: "Nextflow and nf-core training",
href: "https://training.nextflow.io/latest/",
icon: "octicon:mortar-board-16",
description: "Hands-on training materials and workshops"
description: "Hands-on training materials and workshops",
},
];
---
Expand All @@ -209,15 +208,15 @@ const trainingCards = [
featuredEntries.map((page) => (
<a href={page.href} class="text-decoration-none g-col-12 g-col-md-6 g-col-lg-4">
<div class="card h-100 featured-card">
<div class="card-body">
<div class="featured-icon mb-2">
<Icon name={page.customIcon} />
</div>
<h3 class="h5 card-title mb-2">
{page.metadata?.data.title || page.label}
</h3>
<p class="card-description mb-0">{page.description}</p>
<div class="card-body">
<div class="featured-icon mb-2">
<Icon name={page.customIcon} />
</div>
<h3 class="h5 card-title mb-2">
{page.metadata?.data.title || page.label}
</h3>
<p class="card-description mb-0">{page.description}</p>
</div>
</div>
</a>
))
Expand All @@ -232,7 +231,10 @@ const trainingCards = [
<div class="grid gap-3">
{
mainSections.map((section) => (
<a href={section.sectionHref} class="text-decoration-none g-col-12 g-col-md-6 g-col-lg-4">
<a
href={section.sectionHref}
class="text-decoration-none g-col-12 g-col-md-6 g-col-lg-4"
>
<div class="card h-100 section-card">
<div class="card-body">
<div class="section-icon mb-2">
Expand All @@ -252,21 +254,20 @@ const trainingCards = [
<div class="mb-5">
<h2 class="section-heading mb-2">Additional resources</h2>
<p class="mb-4">
Learn Nextflow and nf-core through comprehensive documentation and hands-on training
materials.
Learn Nextflow and nf-core through comprehensive documentation and hands-on training materials.
</p>
<div class="grid gap-3">
{
trainingCards.map((card) => (
<a href={card.href} class="text-decoration-none g-col-12 g-col-md-6">
<div class="card h-100 featured-card">
<div class="card-body">
<div class="featured-icon mb-2">
<Icon name={card.icon} />
</div>
<h3 class="h5 card-title mb-2">{card.title}</h3>
<p class="card-description mb-0">{card.description}</p>
<div class="card-body">
<div class="featured-icon mb-2">
<Icon name={card.icon} />
</div>
<h3 class="h5 card-title mb-2">{card.title}</h3>
<p class="card-description mb-0">{card.description}</p>
</div>
</div>
</a>
))
Expand Down
Loading