UNPKG

react-thumbnail-generator

Version:
188 lines (147 loc) โ€ข 5.3 kB
# ๐Ÿ’ป react-thumbnail-generator [English](README.md) | ํ•œ๊ตญ์–ด | [็ฎ€ไฝ“ไธญๆ–‡](README-zh_cn.md) | [ๆ—ฅๆœฌ่ชž](README-ja_jp.md) <a href="https://www.npmjs.com/package/react-thumbnail-generator" target="_blank"> <img src="https://img.shields.io/npm/v/react-thumbnail-generator.svg"> </a> <a href="https://www.npmjs.com/package/react-thumbnail-generator" target="_blank"> <img src="https://img.shields.io/npm/dt/react-thumbnail-generator.svg"> </a> <a href="https://bundlephobia.com/package/react-thumbnail-generator" target="_blank"> <img src="https://img.shields.io/bundlephobia/minzip/react-thumbnail-generator/latest?style=flat-square"> </a> <p> <a href="https://www.npmjs.com/package/react-thumbnail-generator" target="_blank"> <img src="https://user-images.githubusercontent.com/64779472/219855230-d6515d16-334c-432a-8d20-fa171e17c231.png" /> </a> </p> ## Overview ๐ŸŽจ `react-thumbnail-generator`๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง์ ‘ ์ธ๋„ค์ผ์„ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•˜๊ณ  ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•  ์ˆ˜ ์žˆ๋Š” React ์ปดํฌ๋„ŒํŠธ์ž…๋‹ˆ๋‹ค. ์ง๊ด€์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค์™€ ํ’๋ถ€ํ•œ ๊ธฐ๋Šฅ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋– ๋‚˜์ง€ ์•Š๊ณ ๋„ ํ”„๋กœ์ ํŠธ์šฉ ์ธ๋„ค์ผ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/user-attachments/assets/5d4f8c23-72c6-43ae-aa62-5c46ee0ddfc6 <br /> ### Key Features - ๐ŸŽฏ ๊ฐ„๋‹จํ•œ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ์ธํ„ฐํŽ˜์ด์Šค - ๐ŸŽจ ๋ฐฐ๊ฒฝ ์ƒ‰์ƒ/์ด๋ฏธ์ง€ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• - โœ๏ธ ๋‹ค์–‘ํ•œ ํฐํŠธ์™€ ํšจ๊ณผ๋กœ ํ…์ŠคํŠธ ์Šคํƒ€์ผ๋ง - ๐Ÿ“ ์œ ์—ฐํ•œ ์บ”๋ฒ„์Šค ํฌ๊ธฐ ์กฐ์ • - ๐Ÿ–ผ๏ธ ๋‹ค์–‘ํ•œ ๋‚ด๋ณด๋‚ด๊ธฐ ํ˜•์‹ (PNG, JPG, WebP) - ๐Ÿ”ง ๋†’์€ ์„ค์ • ๊ฐ€๋Šฅ์„ฑ์„ ๊ฐ€์ง„ ์œ„์น˜ ๋ฐ ์™ธ๊ด€ - ๐Ÿ“ฑ ๋ฐ์Šคํฌํ†ฑ ๋ธŒ๋ผ์šฐ์ € ์ตœ์ ํ™” - ๐Ÿ“ฑ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ์ „์šฉ ์ปดํฌ๋„ŒํŠธ <br /> ## Demo Page ๐Ÿ–ผ๏ธ [react-thumbnail-generator demo page](https://ssi02014.github.io/react-thumbnail-generator/?path=/story/components-thumbnailgenerator--default) <br /> ### Version Compatibility ๐Ÿ”„ react-thumbnail-generator `v4`๋Š” `react/react-dom v19`์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. react v18๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด `v3` ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”. ```shell yarn add react-thumbnail-generator@^3 ``` ```shell pnpm add react-thumbnail-generator@^3 ``` ```shell npm install react-thumbnail-generator@^3 ``` <br /> ## Quick Start ๐Ÿš€ ### STEP 1๏ธโƒฃ - ํŒจํ‚ค์ง€ ์„ค์น˜ ```shell yarn add react-thumbnail-generator ``` ```shell pnpm add react-thumbnail-generator ``` ```shell npm install react-thumbnail-generator ``` <br /> ### STEP 2๏ธโƒฃ - `<ThumbnailGenerator>` ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. - ThumbnailGenerator๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ `Portal`์„ ์‚ฌ์šฉํ•˜์—ฌ `document.body`์˜ ์ž์‹์œผ๋กœ ์ž๋™ ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค. ```jsx import ThumbnailGenerator from 'react-thumbnail-generator'; const App = () => { return ( <ThumbnailGenerator iconPosition="bottom-right" // ํ† ๊ธ€ ๋ฒ„ํŠผ ์•„์ด์ฝ˜์˜ ์œ„์น˜ ์ง€์ • (top-left, top-right, bottom-left, bottom-right) modalPosition="right" // ์ธ๋„ค์ผ ์ƒ์„ฑ๊ธฐ๊ฐ€ ํ‘œ์‹œ๋  ์œ„์น˜ ์ง€์ • (left, right, center) additionalFontFamily={['Noto Sans', ...]} // ์ƒ์„ฑ๊ธฐ์—์„œ ์‚ฌ์šฉํ•  ์ปค์Šคํ…€ ํฐํŠธ ์ถ”๊ฐ€ // ์ค‘์š”: ํฐํŠธ๊ฐ€ ํ”„๋กœ์ ํŠธ์— ์ด๋ฏธ ๋กœ๋“œ๋˜์–ด ์žˆ์–ด์•ผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค isFullWidth={true} // true์ผ ๋•Œ ์ธ๋„ค์ผ ์ƒ์„ฑ๊ธฐ๊ฐ€ ์ „์ฒด ๋„ˆ๋น„๋กœ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค isDefaultOpen={false} // true์ผ ๋•Œ ๋กœ๋“œ ์‹œ ์ธ๋„ค์ผ ์ƒ์„ฑ๊ธฐ๊ฐ€ ์ž๋™์œผ๋กœ ์—ด๋ฆฝ๋‹ˆ๋‹ค /> ) } ``` <br /> ## How to add Web Fonts ๐Ÿ˜Š ### STEP 1๏ธโƒฃ - `public/index.html` ๋˜๋Š” `index.html`์— ์›น ํฐํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค - ๋˜๋Š” `CSS/SCSS` ํŒŒ์ผ์—์„œ ์›น ํฐํŠธ๋ฅผ importํ•ฉ๋‹ˆ๋‹ค ```html <!DOCTYPE html> <html lang="en"> <head> <!-- ... --> <!-- ์›น ํฐํŠธ ์ถ”๊ฐ€ --> <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> ``` <br /> ### STEP 2๏ธโƒฃ - `additionalFontFamily` prop์— ํฐํŠธ ์ด๋ฆ„์„ ๋ฐฐ์—ด๋กœ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค - ํฐํŠธ ์ด๋ฆ„์€ ๋กœ๋“œ๋œ ์›น ํฐํŠธ์™€ ์ •ํ™•ํžˆ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค ```jsx import ThumbnailGenerator from 'react-thumbnail-generator'; const App = () => { return ( <ThumbnailGenerator additionalFontFamily={["Zeyada"]} {...props} /> ) } ``` <br /> ## Options ๐Ÿ“„ - iconPosition - **Optional** - Default: `bottom-right` - Type:`top-left | top-right | bottom-left | bottom-right` - modalPosition - **Optional** - Default: `right` - Type:`left | right | center` - additionalFontFamily - **Optional** - Type: `string[]` - isFullWidth - **Optional** - Default: `false` - Type: `boolean` - isDefaultOpen - **Optional** - Default: `false` - Type: `boolean` <br /> ## Contributing ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ธฐ์—ฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. โค๏ธ ๋ˆ„๊ตฌ๋‚˜ `react-thumbnail-generator`์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. <a href="https://github.com/ssi02014/react-thumbnail-generator/graphs/contributors"> <img src="https://contrib.rocks/image?repo=ssi02014/react-thumbnail-generator"> </a> <br /> ## License MIT ยฉ ssi02014. ์ž์„ธํ•œ ๋‚ด์šฉ์€ [LICENSE](./LICENSE)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.