Docs: update internal and libvips doc links

This commit is contained in:
Lovell Fuller 2025-11-02 14:38:22 +00:00
parent 040b73ca74
commit 09d5aa8cfa
16 changed files with 41 additions and 41 deletions

View File

@ -14,7 +14,7 @@ If a [similar request](https://github.com/lovell/sharp/labels/enhancement) exist
it's probably fastest to add a comment to it about your requirement. it's probably fastest to add a comment to it about your requirement.
Implementation is usually straightforward if libvips Implementation is usually straightforward if libvips
[already supports](https://www.libvips.org/API/current/func-list.html) [already supports](https://www.libvips.org/API/current/function-list.html)
the feature you need. the feature you need.
## Submit a Pull Request to fix a bug ## Submit a Pull Request to fix a bug

View File

@ -11,8 +11,8 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/starlight": "^0.35.2", "@astrojs/starlight": "^0.36.2",
"astro": "^5.13.5", "astro": "^5.15.3",
"starlight-auto-sidebar": "^0.1.2" "starlight-auto-sidebar": "^0.1.3"
} }
} }

View File

@ -8,7 +8,7 @@ title: Channel manipulation
Remove alpha channels, if any. This is a no-op if the image does not have an alpha channel. Remove alpha channels, if any. This is a no-op if the image does not have an alpha channel.
See also [flatten](/api-operation#flatten). See also [flatten](/api-operation/#flatten).
**Example** **Example**

View File

@ -80,7 +80,7 @@ as defined by [toColourspace](#tocolourspace).
| Param | Type | Description | | Param | Type | Description |
| --- | --- | --- | | --- | --- | --- |
| [colourspace] | <code>string</code> | pipeline colourspace e.g. `rgb16`, `scrgb`, `lab`, `grey16` [...](https://github.com/libvips/libvips/blob/41cff4e9d0838498487a00623462204eb10ee5b8/libvips/iofuncs/enumtypes.c#L774) | | [colourspace] | <code>string</code> | pipeline colourspace e.g. `rgb16`, `scrgb`, `lab`, `grey16` [...](https://www.libvips.org/API/current/enum.Interpretation.html) |
**Example** **Example**
```js ```js
@ -123,7 +123,7 @@ By default output image will be web-friendly sRGB, with additional channels inte
| Param | Type | Description | | Param | Type | Description |
| --- | --- | --- | | --- | --- | --- |
| [colourspace] | <code>string</code> | output colourspace e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://github.com/libvips/libvips/blob/3c0bfdf74ce1dc37a6429bed47fa76f16e2cd70a/libvips/iofuncs/enumtypes.c#L777-L794) | | [colourspace] | <code>string</code> | output colourspace e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://www.libvips.org/API/current/enum.Interpretation.html) |
**Example** **Example**
```js ```js

View File

@ -21,7 +21,7 @@ The `blend` option can be one of `clear`, `source`, `over`, `in`, `out`, `atop`,
`hard-light`, `soft-light`, `difference`, `exclusion`. `hard-light`, `soft-light`, `difference`, `exclusion`.
More information about blend modes can be found at More information about blend modes can be found at
https://www.libvips.org/API/current/libvips-conversion.html#VipsBlendMode https://www.libvips.org/API/current/enum.BlendMode.html
and https://www.cairographics.org/operators/ and https://www.cairographics.org/operators/
@ -64,8 +64,8 @@ and https://www.cairographics.org/operators/
| [images[].raw.height] | <code>Number</code> | | | | [images[].raw.height] | <code>Number</code> | | |
| [images[].raw.channels] | <code>Number</code> | | | | [images[].raw.channels] | <code>Number</code> | | |
| [images[].animated] | <code>boolean</code> | <code>false</code> | Set to `true` to read all frames/pages of an animated image. | | [images[].animated] | <code>boolean</code> | <code>false</code> | Set to `true` to read all frames/pages of an animated image. |
| [images[].failOn] | <code>string</code> | <code>&quot;&#x27;warning&#x27;&quot;</code> | @see [constructor parameters](/api-constructor#parameters) | | [images[].failOn] | <code>string</code> | <code>&quot;&#x27;warning&#x27;&quot;</code> | @see [constructor parameters](/api-constructor/) |
| [images[].limitInputPixels] | <code>number</code> \| <code>boolean</code> | <code>268402689</code> | @see [constructor parameters](/api-constructor#parameters) | | [images[].limitInputPixels] | <code>number</code> \| <code>boolean</code> | <code>268402689</code> | @see [constructor parameters](/api-constructor/) |
**Example** **Example**
```js ```js

View File

@ -13,7 +13,7 @@ It does not take into consideration any operations to be applied to the output i
such as resize or rotate. such as resize or rotate.
Dimensions in the response will respect the `page` and `pages` properties of the Dimensions in the response will respect the `page` and `pages` properties of the
[constructor parameters](/api-constructor#parameters). [constructor parameters](/api-constructor/).
A `Promise` is returned when `callback` is not provided. A `Promise` is returned when `callback` is not provided.
@ -21,9 +21,9 @@ A `Promise` is returned when `callback` is not provided.
- `size`: Total size of image in bytes, for Stream and Buffer input only - `size`: Total size of image in bytes, for Stream and Buffer input only
- `width`: Number of pixels wide (EXIF orientation is not taken into consideration, see example below) - `width`: Number of pixels wide (EXIF orientation is not taken into consideration, see example below)
- `height`: Number of pixels high (EXIF orientation is not taken into consideration, see example below) - `height`: Number of pixels high (EXIF orientation is not taken into consideration, see example below)
- `space`: Name of colour space interpretation e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://www.libvips.org/API/current/VipsImage.html#VipsInterpretation) - `space`: Name of colour space interpretation e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://www.libvips.org/API/current/enum.Interpretation.html)
- `channels`: Number of bands e.g. `3` for sRGB, `4` for CMYK - `channels`: Number of bands e.g. `3` for sRGB, `4` for CMYK
- `depth`: Name of pixel depth format e.g. `uchar`, `char`, `ushort`, `float` [...](https://www.libvips.org/API/current/VipsImage.html#VipsBandFormat) - `depth`: Name of pixel depth format e.g. `uchar`, `char`, `ushort`, `float` [...](https://www.libvips.org/API/current/enum.BandFormat.html)
- `density`: Number of pixels per inch (DPI), if present - `density`: Number of pixels per inch (DPI), if present
- `chromaSubsampling`: String containing JPEG chroma subsampling, `4:2:0` or `4:4:4` for RGB, `4:2:0:4` or `4:4:4:4` for CMYK - `chromaSubsampling`: String containing JPEG chroma subsampling, `4:2:0` or `4:4:4` for RGB, `4:2:0:4` or `4:4:4:4` for CMYK
- `isProgressive`: Boolean indicating whether the image is interlaced using a progressive scan - `isProgressive`: Boolean indicating whether the image is interlaced using a progressive scan

View File

@ -179,7 +179,7 @@ When used without parameters, performs a fast, mild sharpen of the output image.
When a `sigma` is provided, performs a slower, more accurate sharpen of the L channel in the LAB colour space. When a `sigma` is provided, performs a slower, more accurate sharpen of the L channel in the LAB colour space.
Fine-grained control over the level of sharpening in "flat" (m1) and "jagged" (m2) areas is available. Fine-grained control over the level of sharpening in "flat" (m1) and "jagged" (m2) areas is available.
See [libvips sharpen](https://www.libvips.org/API/current/libvips-convolution.html#vips-sharpen) operation. See [libvips sharpen](https://www.libvips.org/API/current/method.Image.sharpen.html) operation.
**Throws**: **Throws**:

View File

@ -201,7 +201,7 @@ const dataWithMergedExif = await sharp(inputWithExif)
Keep ICC profile from the input image in the output image. Keep ICC profile from the input image in the output image.
Where necessary, will attempt to convert the output colour space to match the profile. For non-RGB output use [toColourspace](/api-colour/#tocolourspace).
**Since**: 0.33.0 **Since**: 0.33.0
@ -430,7 +430,7 @@ Indexed PNG input at 1, 2 or 4 bits per pixel is converted to 8 bits per pixel.
Set `palette` to `true` for slower, indexed PNG output. Set `palette` to `true` for slower, indexed PNG output.
For 16 bits per pixel output, convert to `rgb16` via For 16 bits per pixel output, convert to `rgb16` via
[toColourspace](/api-colour#tocolourspace). [toColourspace](/api-colour/#tocolourspace).
**Throws**: **Throws**:
@ -589,7 +589,7 @@ Use these JP2 options for output image.
Requires libvips compiled with support for OpenJPEG. Requires libvips compiled with support for OpenJPEG.
The prebuilt binaries do not include this - see The prebuilt binaries do not include this - see
[installing a custom libvips](https://sharp.pixelplumbing.com/install#custom-libvips). [installing a custom libvips](/install#custom-libvips).
**Throws**: **Throws**:
@ -754,7 +754,7 @@ This feature is experimental, please do not use in production systems.
Requires libvips compiled with support for libjxl. Requires libvips compiled with support for libjxl.
The prebuilt binaries do not include this - see The prebuilt binaries do not include this - see
[installing a custom libvips](https://sharp.pixelplumbing.com/install#custom-libvips). [installing a custom libvips](/install/#custom-libvips).
**Throws**: **Throws**:

View File

@ -114,7 +114,7 @@ e.g. libaom manages its own 4 threads when encoding AVIF images,
and these are independent of the value set here. and these are independent of the value set here.
:::note :::note
Further [control over performance](/performance) is available. Further [control over performance](/performance/) is available.
::: :::

View File

@ -18,7 +18,7 @@ const bool = {
/** /**
* Remove alpha channels, if any. This is a no-op if the image does not have an alpha channel. * Remove alpha channels, if any. This is a no-op if the image does not have an alpha channel.
* *
* See also {@link /api-operation#flatten|flatten}. * See also {@link /api-operation/#flatten flatten}.
* *
* @example * @example
* sharp('rgba.png') * sharp('rgba.png')

View File

@ -69,7 +69,7 @@ function grayscale (grayscale) {
* *
* The input image will be converted to the provided colourspace at the start of the pipeline. * The input image will be converted to the provided colourspace at the start of the pipeline.
* All operations will use this colourspace before converting to the output colourspace, * All operations will use this colourspace before converting to the output colourspace,
* as defined by {@link #tocolourspace|toColourspace}. * as defined by {@link #tocolourspace toColourspace}.
* *
* @since 0.29.0 * @since 0.29.0
* *
@ -80,7 +80,7 @@ function grayscale (grayscale) {
* .toColourspace('srgb') * .toColourspace('srgb')
* .toFile('16bpc-pipeline-to-8bpc-output.png') * .toFile('16bpc-pipeline-to-8bpc-output.png')
* *
* @param {string} [colourspace] - pipeline colourspace e.g. `rgb16`, `scrgb`, `lab`, `grey16` [...](https://github.com/libvips/libvips/blob/41cff4e9d0838498487a00623462204eb10ee5b8/libvips/iofuncs/enumtypes.c#L774) * @param {string} [colourspace] - pipeline colourspace e.g. `rgb16`, `scrgb`, `lab`, `grey16` [...](https://www.libvips.org/API/current/enum.Interpretation.html)
* @returns {Sharp} * @returns {Sharp}
* @throws {Error} Invalid parameters * @throws {Error} Invalid parameters
*/ */
@ -112,7 +112,7 @@ function pipelineColorspace (colorspace) {
* .toColourspace('rgb16') * .toColourspace('rgb16')
* .toFile('16-bpp.png') * .toFile('16-bpp.png')
* *
* @param {string} [colourspace] - output colourspace e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://github.com/libvips/libvips/blob/3c0bfdf74ce1dc37a6429bed47fa76f16e2cd70a/libvips/iofuncs/enumtypes.c#L777-L794) * @param {string} [colourspace] - output colourspace e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://www.libvips.org/API/current/enum.Interpretation.html)
* @returns {Sharp} * @returns {Sharp}
* @throws {Error} Invalid parameters * @throws {Error} Invalid parameters
*/ */

View File

@ -56,7 +56,7 @@ const blend = {
* `hard-light`, `soft-light`, `difference`, `exclusion`. * `hard-light`, `soft-light`, `difference`, `exclusion`.
* *
* More information about blend modes can be found at * More information about blend modes can be found at
* https://www.libvips.org/API/current/libvips-conversion.html#VipsBlendMode * https://www.libvips.org/API/current/enum.BlendMode.html
* and https://www.cairographics.org/operators/ * and https://www.cairographics.org/operators/
* *
* @since 0.22.0 * @since 0.22.0
@ -123,8 +123,8 @@ const blend = {
* @param {Number} [images[].raw.height] * @param {Number} [images[].raw.height]
* @param {Number} [images[].raw.channels] * @param {Number} [images[].raw.channels]
* @param {boolean} [images[].animated=false] - Set to `true` to read all frames/pages of an animated image. * @param {boolean} [images[].animated=false] - Set to `true` to read all frames/pages of an animated image.
* @param {string} [images[].failOn='warning'] - @see {@link /api-constructor#parameters|constructor parameters} * @param {string} [images[].failOn='warning'] - @see {@link /api-constructor/ constructor parameters}
* @param {number|boolean} [images[].limitInputPixels=268402689] - @see {@link /api-constructor#parameters|constructor parameters} * @param {number|boolean} [images[].limitInputPixels=268402689] - @see {@link /api-constructor/ constructor parameters}
* @returns {Sharp} * @returns {Sharp}
* @throws {Error} Invalid parameters * @throws {Error} Invalid parameters
*/ */

View File

@ -570,7 +570,7 @@ function _isStreamInput () {
* such as resize or rotate. * such as resize or rotate.
* *
* Dimensions in the response will respect the `page` and `pages` properties of the * Dimensions in the response will respect the `page` and `pages` properties of the
* {@link /api-constructor#parameters|constructor parameters}. * {@link /api-constructor/ constructor parameters}.
* *
* A `Promise` is returned when `callback` is not provided. * A `Promise` is returned when `callback` is not provided.
* *
@ -578,9 +578,9 @@ function _isStreamInput () {
* - `size`: Total size of image in bytes, for Stream and Buffer input only * - `size`: Total size of image in bytes, for Stream and Buffer input only
* - `width`: Number of pixels wide (EXIF orientation is not taken into consideration, see example below) * - `width`: Number of pixels wide (EXIF orientation is not taken into consideration, see example below)
* - `height`: Number of pixels high (EXIF orientation is not taken into consideration, see example below) * - `height`: Number of pixels high (EXIF orientation is not taken into consideration, see example below)
* - `space`: Name of colour space interpretation e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://www.libvips.org/API/current/VipsImage.html#VipsInterpretation) * - `space`: Name of colour space interpretation e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://www.libvips.org/API/current/enum.Interpretation.html)
* - `channels`: Number of bands e.g. `3` for sRGB, `4` for CMYK * - `channels`: Number of bands e.g. `3` for sRGB, `4` for CMYK
* - `depth`: Name of pixel depth format e.g. `uchar`, `char`, `ushort`, `float` [...](https://www.libvips.org/API/current/VipsImage.html#VipsBandFormat) * - `depth`: Name of pixel depth format e.g. `uchar`, `char`, `ushort`, `float` [...](https://www.libvips.org/API/current/enum.BandFormat.html)
* - `density`: Number of pixels per inch (DPI), if present * - `density`: Number of pixels per inch (DPI), if present
* - `chromaSubsampling`: String containing JPEG chroma subsampling, `4:2:0` or `4:4:4` for RGB, `4:2:0:4` or `4:4:4:4` for CMYK * - `chromaSubsampling`: String containing JPEG chroma subsampling, `4:2:0` or `4:4:4` for RGB, `4:2:0:4` or `4:4:4:4` for CMYK
* - `isProgressive`: Boolean indicating whether the image is interlaced using a progressive scan * - `isProgressive`: Boolean indicating whether the image is interlaced using a progressive scan

View File

@ -239,7 +239,7 @@ function affine (matrix, options) {
* When a `sigma` is provided, performs a slower, more accurate sharpen of the L channel in the LAB colour space. * When a `sigma` is provided, performs a slower, more accurate sharpen of the L channel in the LAB colour space.
* Fine-grained control over the level of sharpening in "flat" (m1) and "jagged" (m2) areas is available. * Fine-grained control over the level of sharpening in "flat" (m1) and "jagged" (m2) areas is available.
* *
* See {@link https://www.libvips.org/API/current/libvips-convolution.html#vips-sharpen|libvips sharpen} operation. * See {@link https://www.libvips.org/API/current/method.Image.sharpen.html libvips sharpen} operation.
* *
* @example * @example
* const data = await sharp(input).sharpen().toBuffer(); * const data = await sharp(input).sharpen().toBuffer();
@ -485,7 +485,7 @@ function erode (width) {
/** /**
* Merge alpha transparency channel, if any, with a background, then remove the alpha channel. * Merge alpha transparency channel, if any, with a background, then remove the alpha channel.
* *
* See also {@link /api-channel#removealpha|removeAlpha}. * See also {@link /api-channel#removealpha removeAlpha}.
* *
* @example * @example
* await sharp(rgbaInput) * await sharp(rgbaInput)
@ -660,7 +660,7 @@ function normalize (options) {
/** /**
* Perform contrast limiting adaptive histogram equalization * Perform contrast limiting adaptive histogram equalization
* {@link https://en.wikipedia.org/wiki/Adaptive_histogram_equalization#Contrast_Limited_AHE|CLAHE}. * {@link https://en.wikipedia.org/wiki/Adaptive_histogram_equalization#Contrast_Limited_AHE CLAHE}.
* *
* This will, in general, enhance the clarity of the image by bringing out darker details. * This will, in general, enhance the clarity of the image by bringing out darker details.
* *

View File

@ -43,7 +43,7 @@ const bitdepthFromColourCount = (colours) => 1 << 31 - Math.clz32(Math.ceil(Math
* Note that raw pixel data is only supported for buffer output. * Note that raw pixel data is only supported for buffer output.
* *
* By default all metadata will be removed, which includes EXIF-based orientation. * By default all metadata will be removed, which includes EXIF-based orientation.
* See {@link #withmetadata|withMetadata} for control over this. * See {@link #withmetadata withMetadata} for control over this.
* *
* The caller is responsible for ensuring directory structures and permissions exist. * The caller is responsible for ensuring directory structures and permissions exist.
* *
@ -97,12 +97,12 @@ function toFile (fileOut, callback) {
* Write output to a Buffer. * Write output to a Buffer.
* JPEG, PNG, WebP, AVIF, TIFF, GIF and raw pixel data output are supported. * JPEG, PNG, WebP, AVIF, TIFF, GIF and raw pixel data output are supported.
* *
* Use {@link #toformat|toFormat} or one of the format-specific functions such as {@link jpeg}, {@link png} etc. to set the output format. * Use {@link #toformat toFormat} or one of the format-specific functions such as {@link #jpeg jpeg}, {@link #png png} etc. to set the output format.
* *
* If no explicit format is set, the output format will match the input image, except SVG input which becomes PNG output. * If no explicit format is set, the output format will match the input image, except SVG input which becomes PNG output.
* *
* By default all metadata will be removed, which includes EXIF-based orientation. * By default all metadata will be removed, which includes EXIF-based orientation.
* See {@link #withmetadata|withMetadata} for control over this. * See {@link #withmetadata withMetadata} for control over this.
* *
* `callback`, if present, gets three arguments `(err, data, info)` where: * `callback`, if present, gets three arguments `(err, data, info)` where:
* - `err` is an error, if any. * - `err` is an error, if any.
@ -256,7 +256,7 @@ function withExifMerge (exif) {
/** /**
* Keep ICC profile from the input image in the output image. * Keep ICC profile from the input image in the output image.
* *
* Where necessary, will attempt to convert the output colour space to match the profile. * For non-RGB output use {@link /api-colour/#tocolourspace toColourspace}.
* *
* @since 0.33.0 * @since 0.33.0
* *
@ -565,7 +565,7 @@ function jpeg (options) {
* Set `palette` to `true` for slower, indexed PNG output. * Set `palette` to `true` for slower, indexed PNG output.
* *
* For 16 bits per pixel output, convert to `rgb16` via * For 16 bits per pixel output, convert to `rgb16` via
* {@link /api-colour#tocolourspace|toColourspace}. * {@link /api-colour/#tocolourspace toColourspace}.
* *
* @example * @example
* // Convert any input to full colour PNG output * // Convert any input to full colour PNG output
@ -850,7 +850,7 @@ function gif (options) {
* *
* Requires libvips compiled with support for OpenJPEG. * Requires libvips compiled with support for OpenJPEG.
* The prebuilt binaries do not include this - see * The prebuilt binaries do not include this - see
* {@link https://sharp.pixelplumbing.com/install#custom-libvips installing a custom libvips}. * {@link /install#custom-libvips installing a custom libvips}.
* *
* @example * @example
* // Convert any input to lossless JP2 output * // Convert any input to lossless JP2 output
@ -959,7 +959,7 @@ function trySetAnimationOptions (source, target) {
/** /**
* Use these TIFF options for output image. * Use these TIFF options for output image.
* *
* The `density` can be set in pixels/inch via {@link #withmetadata|withMetadata} * The `density` can be set in pixels/inch via {@link #withmetadata withMetadata}
* instead of providing `xres` and `yres` in pixels/mm. * instead of providing `xres` and `yres` in pixels/mm.
* *
* @example * @example
@ -1194,7 +1194,7 @@ function heif (options) {
* *
* Requires libvips compiled with support for libjxl. * Requires libvips compiled with support for libjxl.
* The prebuilt binaries do not include this - see * The prebuilt binaries do not include this - see
* {@link https://sharp.pixelplumbing.com/install#custom-libvips installing a custom libvips}. * {@link /install/#custom-libvips installing a custom libvips}.
* *
* @since 0.31.3 * @since 0.31.3
* *

View File

@ -136,7 +136,7 @@ cache(true);
* and these are independent of the value set here. * and these are independent of the value set here.
* *
* :::note * :::note
* Further {@link /performance|control over performance} is available. * Further {@link /performance/ control over performance} is available.
* ::: * :::
* *
* @example * @example