Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cloudinary-community/astro-cloudinary
🚀 High-performance image and video delivery and uploading at scale in Astro powered by Cloudinary.
https://github.com/cloudinary-community/astro-cloudinary
astro astro-loader cloudinary cloudinary-sdk hacktoberfest
Last synced: 2 months ago
JSON representation
🚀 High-performance image and video delivery and uploading at scale in Astro powered by Cloudinary.
- Host: GitHub
- URL: https://github.com/cloudinary-community/astro-cloudinary
- Owner: cloudinary-community
- License: mit
- Created: 2024-07-30T17:44:11.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-11-01T16:15:25.000Z (2 months ago)
- Last Synced: 2024-11-01T17:21:00.443Z (2 months ago)
- Topics: astro, astro-loader, cloudinary, cloudinary-sdk, hacktoberfest
- Language: TypeScript
- Homepage: https://astro.cloudinary.dev
- Size: 640 KB
- Stars: 15
- Watchers: 1
- Forks: 8
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Astro Cloudinary
High-performance image delivery and uploading at scale in Astro powered by Cloudinary.
Features • Getting Started • Community & Support • Contributing
**This is a community library supported by the Cloudinary Developer Experience team.**
## ✨ Features
* Automatically optimize images and deliver in modern formats
* Remove backgrounds from images
* Dynamically add image and text overlays to images
* AI-based cropping and resizing
* Transform images using color and effects
* Generate Open Graph Social Media cards on the fly
* Drop-in Upload Widget
* ...all at scale with Cloudinary## 🚀 Getting Started
### Installation
* Install `astro-cloudinary` with:
```
npm install astro-cloudinary
```* Add an environment variable with your Cloud Name:
```
PUBLIC_CLOUDINARY_CLOUD_NAME=""
```### Adding an Image
```
import { CldImage } from 'astro-cloudinary';```
[Learn more about CldImage on the Astro Cloudinary Docs](https://astro.cloudinary.dev/cldimage/basic-usage)
## ❤️ Community & Support
* [GitHub: Create an Issue](https://github.com/cloudinary-community/astro-cloudinary/issues)
* [Twitter: @colbyfayock](https://twitter.com/colbyfayock)## 🛠 Contributing
Please read [CONTRIBUTING.md](https://github.com/cloudinary-community/astro-cloudinary/blob/main/CONTRIBUTING.md) prior to contributing.
### Working Locally
#### Installation
This project is using [pnpm](https://pnpm.io/) as a way to manage dependencies and workspaces.
With the project cloned, install the dependencies from the root of the project with:
```
pnpm install
```#### Configuration
To work on the project, you need to have an active Cloudinary account.
With the account, configure a `.env` file inside of `docs` with:
```
PUBLIC_CLOUDINARY_CLOUD_NAME=""
PUBLIC_CLOUDINARY_API_KEY=""
CLOUDINARY_API_SECRET=""PUBLIC_ASSETS_DIRECTORY="assets"
```> Note: The Cloudinary account can be free, but some features may not work beyond free tier like Background Removal without enabling the add-on
The Cloud Name is required for all usage, where the API Key and Secret currently is only used for Upload Widget usage. The Upload Preset is additionally used for the Upload Widgets.
#### Uploading Example Images
In order to run the Docs project, you need to have the images and videos referenced available inside of your Cloudinary account.
Most of the images and videos used in the project take advantage of the sample assets included in every Cloudinary account, so some may work out-of-the-box, but not all.
To upload the remaining assets, navigate to the `scripts` directory and first create a new `.env` file with:
```
CLOUDINARY_CLOUD_NAME=""
CLOUDINARY_API_KEY=""
CLOUDINARY_API_SECRET=""
```By default, the images and videos inside of `scripts/assets.json` will be uploaded to the "assets" directory inside of your Cloudinary account. To change the location, add the `CLOUDINARY_ASSETS_DIRECTORY` environment variable with your preferred directory:
```
CLOUDINARY_ASSETS_DIRECTORY=""
```> Note: You will then need to update the `/docs/.env` file to reference the same directory.
To run the script, install the dependencies:
```
pnpm install
```Then run the upload script with:
```
pnpm upload
```#### Uploading Example Collections
Collections are groups of images that are showcased using the cldAssetsLoader helper.
The directories that make up the sample images include too many images to reasonably
ask a contributor to upload.We have a few options then.
1. Skip uploading the collections
If you're not working on cldAssetsLoader, or you can test using the single example
that utilizes the samples directory, you may not need to worry about this.2. Change the collections location
You could update these directories in the `docs/src/content/config.ts` file to directories that
already exist in your account, such as other sample directories.3. Upload Manually
If you want to have assets available to test this out, you can create the following directories
and include some assets inside.- collection
- ecommerce/fashion
- ecommerce/sneakersA good way to handle this is to download some images from Unsplash or your favorite stock photo site.
#### Running the Project
Once installed and configured, from the root of your project run:
```
pnpm dev
```The project will now be available at or the configured local port.
## Contributors
Colby Fayock
💻 📖
Mateusz Burzyński
💻
Hunter Bertoson
💻
Arpan Patel
📖
Saai Syvendra
📖
Raghav Mangla
📖
Kieran Klukas
💻
S. M. V.
📖