# Interface: VitePluginInkOptions (/pixi-vn-ink/vite/interfaces/VitePluginInkOptions)



Defined in: [src/vite/plugins.ts:337](https://github.com/DRincs-Productions/pixi-vn-ink/blob/5604a832025db23627dcf27e489490f9e7743d04/src/vite/plugins.ts#L337)

Options for [vitePluginInk](/pixi-vn-ink/vite/functions/vitePluginInk).

## Properties [#properties]

### characters? [#characters]

\> `optional` **characters?**: readonly `string`\[]

Defined in: [src/vite/plugins.ts:397](https://github.com/DRincs-Productions/pixi-vn-ink/blob/5604a832025db23627dcf27e489490f9e7743d04/src/vite/plugins.ts#L397)

Character ids to recognise when splitting `characterId: text` speakers in `.ink` files.
Characters from `vite-plugin-pixi-vn` (its `api.characters`) are picked up automatically;
use this to supply ids explicitly when it is not present.

#### Example [#example]

```ts
["alice", "james"]
```

***

### inkGlob? [#inkglob]

\> `optional` **inkGlob?**: `string`

Defined in: [src/vite/plugins.ts:355](https://github.com/DRincs-Productions/pixi-vn-ink/blob/5604a832025db23627dcf27e489490f9e7743d04/src/vite/plugins.ts#L355)

Glob pattern specifying which `.ink` files to scan and load automatically.

When provided, a virtual module `virtual:pixi-vn-ink` is generated and can be imported
anywhere in your app. It exports, as its default export, an array of strings (`string[]`)
containing the raw text of every matched `.ink` file.

This eliminates the need to manually write a glob-import helper such as `getInkText`.

The pattern follows the standard glob format used by
[Vite's `import.meta.glob`](https://vite.dev/guide/features#glob-import).
The plugin resolves it from Vite `root` and internally normalizes it to a root-absolute
pattern for the generated virtual module.

#### Examples [#examples]

```ts
"./ink/**/*.ink"
```

```ts
"/src/stories/**/*.ink"
```

***

### inkJsonManifestPath? [#inkjsonmanifestpath]

\> `optional` **inkJsonManifestPath?**: `string`

Defined in: [src/vite/plugins.ts:389](https://github.com/DRincs-Productions/pixi-vn-ink/blob/5604a832025db23627dcf27e489490f9e7743d04/src/vite/plugins.ts#L389)

Custom path (including filename) for the manifest file generated alongside the exported JSON
files.

When [VitePluginInkOptions.inkJsonOutputPattern](#inkjsonoutputpattern) is set, a `manifest.json` file listing
all exported JSON URLs is written into the output base directory by default. Use this option
to override the manifest file location and/or its name.

Relative values are resolved from Vite `root`.

#### Examples [#examples-1]

```ts
"./public/ink-json/index.json"
```

```ts
"./generated/manifest.json"
```

***

### inkJsonOutputPattern? [#inkjsonoutputpattern]

\> `optional` **inkJsonOutputPattern?**: `string`

Defined in: [src/vite/plugins.ts:375](https://github.com/DRincs-Productions/pixi-vn-ink/blob/5604a832025db23627dcf27e489490f9e7743d04/src/vite/plugins.ts#L375)

Output pattern for generated JSON files from matched `.ink` sources.

When provided together with [VitePluginInkOptions.inkGlob](#inkglob), each matched `.ink` file is
converted with `convertInkToJson` and written to the rendered destination.

Placeholders:

* `[name]`: filename without extension
* `[ext]`: source extension without dot
* `[extname]`: source extension with dot
* `[file]`: source path relative to the `inkGlob` static base
* `[path]`: source directory relative to the `inkGlob` static base (with trailing slash)
* `[dir]`: source directory relative to Vite `root` (with trailing slash)

Relative values are resolved from Vite `root`.

#### Examples [#examples-2]

```ts
"./public/ink-json/[path][name].json"
```

```ts
"/absolute/output/[dir][name].json"
```
