resize-img-api/README.md

68 lines
1.4 KiB
Markdown

# resize-img-api
The structure of the API path is:
```
/api/imgresize/:width/:height/:url
```
Where `:width` and `:height` can be numbers in pixels or `auto`.
The `:url` is the URL of the image to be resized and should be URL encoded, which can be done in JS with `encodeURIComponent`(). See [MDN ref](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent).
Example encoded URL for [https://memori.ai/logo.png](https://memori.ai/logo.png):
```
https%3A%2F%2Fmemori.ai%2Flogo.png
```
Then call the API as, for example:
```
/api/imgresize/200/200/https%3A%2F%2Fmemori.ai%2Flogo.png
```
You can also specify a format using the querystring `?format=` and indicating one of the following: `avif`, `gif`, `heif`, `jpeg`, `jpg`, `pdf`, `png`, `svg`, `tiff`, `webp`. (Note: Experimental!)
## Docker
To build the Docker image:
```bash
docker build -t resize-img-api .
```
To run the Docker container:
```bash
docker run -p 8787:8787 resize-img-api
```
Using the published image:
```bash
docker run -p 8787:8787 git.nzambello.dev/nzambello/resize-img-api:latest
```
## Development
To install dependencies:
```bash
bun install
```
To run:
```bash
bun start
```
Or in development mode with hot reloading:
```bash
bun dev
```
This project was created using `bun init` in bun v1.0.26. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.