GithubHelp home page GithubHelp logo

ssi02014 / react-thumbnail-generator Goto Github PK

View Code? Open in Web Editor NEW
23.0 2.0 0.0 6.01 MB

Simple React Thumbnail Generator Component ๐Ÿ˜„

Home Page: https://ssi02014.github.io/react-thumbnail-generator/

JavaScript 5.42% TypeScript 94.58%
thumbnail image react storybook component components-library thumbnail-images

react-thumbnail-generator's Introduction

๐Ÿ’ป react-thumbnail-generator


Simply create a thumbnail generator for your project ๐Ÿš€


๐ŸŒŸ CONTRIBUTORS ๐ŸŒŸ


Storybook Demo Page

Click on the icon.

Video ๐Ÿ“ท

Default


Picture


Features ๐Ÿ˜

  • Optimized for browsers. Limited availability on mobile.
  • Download thumbnail images
  • Resize the canvas
  • Fill the background with colors or pictures
  • Select a blur effect
  • Select font family, textAlign, size, stroke, color, angle, lineHeight
  • Drag and Drop text on the canvas
  • Add custom web font families
  • Select the modal button and its location
  • Choose the image type (png, jpg, webp, svg)
  • Support TypeScript and Next(v13)

Top Icons Feature

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2023-02-27 แ„‹แ…ฉแ„’แ…ฎ 9 53 09
  • 1: Background Picture
  • 2: Text Align (start, center, end)
  • 2: Background Color
  • 3: Font Color
  • 4: Font Stroke Color
  • 5: Blur Effect

How to use React ๐Ÿ˜Š

STEP 1๏ธโƒฃ

  • Install Package
yarn add react-thumbnail-generator
or
npm install react-thumbnail-generator

STEP 2๏ธโƒฃ

  • Add <ThumbnailGenerator> component.
  • ThumbnailGenerator is automatically rendered as a document.body child by default using Portal.
import ThumbnailGenerator from 'react-thumbnail-generator';
import iconImage from '../assets/colorImage.png';

const App = () => {
  return (
    <ThumbnailGenerator
      buttonIcon={<img src={iconImage} width={30} height={30} alt="iconImage" />}
      // To insert the inner icon of the button that opens the thumbnail modal, use the ReactNode. 
      // If you do not include this option, the default icon will be used.

      iconSize="medium"
      // Through this property, you can specify the size of the button icon.
      // However, if you are inserting a custom button icon, this option is meaningless.

      iconPosition={[0, 20, 20, 0]}
      // Through this property, you can specify the position of the button icon.
      // [top, right, bottom, left]

      modalPosition='right'
      // Through this property, you can specify the position of the thumbnail generator.
      
      additionalFontFamily={['Noto Sans', ...]}
      // You can add the font of your choice to your project, but that font must already applied to your project.

      isFullWidth={true}
      // Setting this property to true will make the thumbnail generator full-width.

      isDefaultOpen={false}
      // Setting this property to true will open the thumbnail generator by default.
    />
  )
}

How to add Web fonts ๐Ÿ˜Š

STEP 1๏ธโƒฃ

  • Add a web font. public/index.html
  • or CSS fontFamily
<!DOCTYPE html>
<html lang="en">
  <head>
    <!-- ... -->

    <!-- Add a web font -->
    <link rel="preconnect" href="https://fonts.googleapis.com" />
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
    <link
      href="https://fonts.googleapis.com/css2?family=Zeyada&display=swap"
      rel="stylesheet"
    />
  </head>
  <body>
    <div id="root"></div>
  </body>
</html>

STEP 2๏ธโƒฃ

  • Enter font names in array form in the AdditionalFontFamily option
import ThumbnailGenerator from 'react-thumbnail-generator';
import iconImage from '../assets/colorImage.png';

const App = () => {
  return (
    <ThumbnailGenerator 
      additionalFontFamily={["Zeyada"]} // (*)
    />
  )
}


API ๐Ÿ“„

  • buttonIcon
    • Optional
    • Default: แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2023-02-20 แ„‹แ…ฉแ„’แ…ฎ 10 48 05
    • Type: ReactNode
  • iconPosition
    • Optional
    • Sequence: [top, right, bottom, left]
    • Default: [0, 20, 20, 0]
    • Type:[number, number, number, number]
  • modalPosition
    • Optional
    • Default: right
    • Type:left | right | center
  • iconSize
    • Optional
    • Default: medium
    • Type: small | medium | large
  • additionalFontFamily
    • Optional
    • Type: string[]
  • isFullWidth
    • Optional
    • Default: false
    • Type: boolean
  • isDefaultOpen
    • Optional
    • Default: false
    • Type: boolean

Reference


react-thumbnail-generator's People

Contributors

soonki-98 avatar ssi02014 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

react-thumbnail-generator's Issues

Failed to compile in NextJS

while using your package with NextJS project, the error below occurred.
image

According to "Read more",
One of your dependencies (node_modules) imports a CSS file.
This normally happens when a package's source files are accidentally consumed, instead of the built package.

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.