Giter Site home page Giter Site logo

heetvekariya / svelte-cloudinary Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cloudinary-community/svelte-cloudinary

0.0 0.0 0.0 245 KB

⚡️ High-performance image delivery and uploading at scale in Svelte powered by Cloudinary.

Home Page: https://svelte.cloudinary.dev/

License: MIT License

JavaScript 16.15% TypeScript 30.26% CSS 0.23% HTML 1.77% Svelte 51.58%

svelte-cloudinary's Introduction

[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-) Cloudinary    Svelte
GitHub Workflow Status npm GitHub

Svelte Cloudinary

High-performance image delivery and uploading at scale in Svelte powered by Cloudinary.

FeaturesGetting StartedCommunity & SupportContributing

This plugin is a community library and not officially supported by Cloudinary.

✨ 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
  • ...all at scale with Cloudinary

🚀 Getting Started

Installation

  • Install svelte-cloudinary with:
npm install svelte-cloudinary
  • Add an environment variable with your Cloud Name:
VITE_PUBLIC_CLOUDINARY_CLOUD_NAME="<Your Cloud Name>"

Adding an Image

<script>
import { CldImage } from 'svelte-cloudinary';
</script>

<CldImage width="600" height="600" src="<Public ID or Cloudinary URL>" alt="<Alt Text>" />

Learn more about CldImage on the Svelte Cloudinary Docs

❤️ Community & Support

🛠 Contributing

Please read CONTRIBUTING.md prior to contributing.

Working Locally

Installation

This project is currently using pnpm 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.local file inside of docs with:

VITE_PUBLIC_CLOUDINARY_CLOUD_NAME="<Your Cloudinary Cloud Name>"
VITE_PUBLIC_CLOUDINARY_API_KEY="<Your Cloudinary API Key>"
CLOUDINARY_API_SECRET="<Your Cloudinary API Secret>"

# The following are used for the internal playground not the library
PUBLIC_CLOUDINARY_UNSIGNED_UPLOAD_PRESET="<Your unsigned preset>"
PUBLIC_CLOUDINARY_SIGNED_UPLOAD_PRESET="<Your signed preset>"

Note: The Cloudinary account can be free, but some features may not work beyond free tier like Background Removal

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 referenced available inside of your Cloudinary account.

To do this, navigate to the scripts directory and first create a new .env file with:

CLOUDINARY_CLOUD_NAME="<Your Cloudinary Cloud Name>"
CLOUDINARY_API_KEY="<Your API Key>"
CLOUDINARY_API_SECRET="<Your API Secret>"

Then run the upload script with:

pnpm upload

By default, the images inside of scripts/images.json will be uploaded to the "images" directory inside of your Cloudinary account. To change the location, add the VITE_CLOUDINARY_IMAGES_DIRECTORY environment variable with your preferred directory:

VITE_CLOUDINARY_IMAGES_DIRECTORY="<Your Directory>"

Running the Project

Once installed and configured, open two terminal tabs, navigating one to svelte-cloudinary and one to docs, running the following command in each:

pnpm dev

The project will now be available at https://localhost:5173 or the configured local port.

Running Tests

All tests are located inside of svelte-cloudinary/svelte-cloudinary each test lives along side the corresponding component.

While inside svelte-cloudinary, run tests with:

pnpm test:unit

Acknowledgement

Thanks cupcakearmy for handing off the original svelte-cloudinary to allow us to continue on the work for the Svelte community!

Contributors

Troy Ciesco
Troy Ciesco

💡
Lih Haur Voon
Lih Haur Voon

💻
Colby Fayock
Colby Fayock

💻 📖 💡
Matias Hernández
Matias Hernández

💻 📖 💡

svelte-cloudinary's People

Contributors

matiasfha avatar colbyfayock avatar semantic-release-bot avatar heetvekariya avatar allcontributors[bot] avatar leovoon avatar troyciesco avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.