# addShuffleNodes (/docs/shuffle/reference/functions/addShuffleNodes)



# Function: addShuffleNodes() [#function-addshufflenodes]

```ts
function addShuffleNodes<Nodes, Marks>(
  schema: Schema<Nodes, Marks>,
  content: string,
  group: string,
  options?: AddShuffleNodesOptions,
): Schema<"container" | "row" | Nodes, Marks>;
```

Defined in:
[schema.ts:93](https://github.com/handlewithcarecollective/pitter-patter/blob/5f9831b289582242a2f8b7c6f9c1d64b034de5a9/packages/shuffle/src/schema.ts#L93)

Augments the provided schema with the row and container nodes, as well as adding the `shuffleStart`
and `shuffleEnd` attributes to every node in the group `group`. The `content` argument should be a
[content expression](https://prosemirror.net/docs/guide/#:~:text=content%20expressions), which will
be set on the row and container node specs.

## Type Parameters [#type-parameters]

### Nodes [#nodes]

`Nodes` *extends* `string`

### Marks [#marks]

`Marks` *extends* `string`

## Parameters [#parameters]

### schema [#schema]

`Schema`\<`Nodes`, `Marks`>

The ProseMirror schema to add shuffle nodes and attributes to

### content [#content]

`string`

The content expression to add to the row and container node specs

### group [#group]

`string`

Every node spec with this group will have shuffle attributes added, and be marked as resizable and
draggable.

### options? [#options]

[`AddShuffleNodesOptions`](/docs/shuffle/reference/interfaces/AddShuffleNodesOptions) = `{}`

## Returns [#returns]

`Schema`\<`"container"` | `"row"` | `Nodes`, `Marks`>
