Development

วิธีการติดตั้งและใช้งาน Medium Zoom ใน Nuxt 3

วิธีการทำให้รูปของเรามีลูกเล่นเหมือนกับ Medium.com

วันนี้จะมาแนะนำวิธีการติดตั้ง Library นึงครับซึ่งจะทำให้รูปภายในเว็บไซต์ของเรามีลูกเล่นเหมือนกับรูปที่อยู่ภายในเว็บไซต์ Medium.com ครับ อยากรู้ว่าเป็นยังไงลองคลิกที่รูปด้านบนได้เลยครับ 👆

วิธีการติดตั้ง

1. ติดตั้ง Library ดังกล่าว

npm install medium-zoom
# หรือ
yarn add medium-zoom

2. สร้าง Folder และ File Plugins

# เติม .client.ts เพื่อกำหนดว่า plugins นี้เป็นของฝั่ง client อย่างเดียวนะครับ

3. นำ Source Code ไปวางภายในไฟล์ดังกล่าวได้เลยครับ

import { defineNuxtPlugin } from '#app'
import mediumZoom, { Zoom } from 'medium-zoom'

export default defineNuxtPlugin((nuxtApp) => {
  const selector = '.image-zoomable'
  const zoom: Zoom = mediumZoom(selector, {})

  nuxtApp.hook('page:finish', () => {
    zoom.detach(selector).attach(selector)
  })

  nuxtApp.provide('mediumZoom', zoom)
})

4. วิธีการใช้งาน

ใช้กับ <img />

<img src="/images/logo.jpeg" alt="logo" class="image-zoomable" />

# เพิ "image-zoomable" เขาไปใน class ไดเลย

ใช้กับ <nuxt-img />

<nuxt-img
    src="/images/logo.jpeg"
    alt="logo"
    class="image-zoomable"
/>

# ซึงเปนการเติม class เชนเดียวกันครับ

References

Related Articles

Simple Paginate
Development

Simple Paginate

Code ตัวอย่างคือการใช้งานใน Express + Typescript + Mongoose
ตั้งค่าให้สามารถเชื่อมต่อ Local Network ได้ ตอนที่เชื่อม openvpn
Development

ตั้งค่าให้สามารถเชื่อมต่อ Local Network ได้ ตอนที่เชื่อม openvpn

แก้ไขไฟล์ openvpn config หากมีการ import เข้าไปใน openvpn gui แล้วสามารถค้นหาไฟล์การตั้งค่าได้ที่
วิธีการลบ .env file ออกจาก git แบบถูกวิธี
Development

วิธีการลบ .env file ออกจาก git แบบถูกวิธี

สมมติว่าเราเผลอ commit ไฟล์ .env ที่มี API key ไปแล้ว และ push ขึ้น GitHub เราต้องรีบลบมันออกทันที เพราะข้อมูลอาจถูกนำไปใช้ได้