haperone_local-image-compress/assets/README.th.md

18 KiB
Raw Blame History

Local Image Compress

บีบอัดไฟล์ PNG และ JPEG โดยตรงใน vault ของ Obsidian บนคอมพิวเตอร์ โดยไม่ใช้บริการคลาวด์หรือ API ลดพื้นที่ดิสก์ที่ภาพใช้ลง 3070% โดยไม่ลดทอนคุณภาพ

Read in your language: EnglishالعربيةDeutschEspañolفارسیFrançaisBahasa IndonesiaItalianoNederlandsPolskiPortuguêsPortuguês (Brasil)РусскийไทยTürkçeУкраїнськаTiếng Việt日本語한국어中文简体中文繁體

Local Image Compress features

สารบัญ

คุณสมบัติ

  • การบีบอัดภายในเครื่อง: บีบอัดภาพ PNG และ JPEG ภายในเครื่อง
  • คำสั่ง:
    • บีบอัดภาพทั้งหมดในโน้ต: ประมวลผลภาพที่อ้างอิงหรือใช้ในโน้ตที่เปิดอยู่
    • บีบอัดภาพทั้งหมดในโฟลเดอร์: ให้เลือกโฟลเดอร์และบีบอัดภาพที่รองรับทั้งหมด ยกเว้นโฟลเดอร์ผลลัพธ์
    • บีบอัดภาพทั้งหมดใน vault: สแกนทั้ง vault ยกเว้นโฟลเดอร์ผลลัพธ์
    • ย้ายไฟล์ที่บีบอัด: ย้ายผลลัพธ์ไปยังตำแหน่งต้นฉบับ โดยสำรองทั้งฉบับต้นฉบับและฉบับบีบอัดก่อน
  • ระบบอัตโนมัติ:
    • บีบอัดไฟล์ใหม่โดยอัตโนมัติเมื่อเพิ่มไฟล์
    • บีบอัดเบื้องหลังเมื่อผู้ใช้ไม่มีการใช้งานและจำนวนภาพที่ยังไม่บีบอัดถึงเกณฑ์
  • ส่วนติดต่อและความสะดวก:
    • เมนูบริบทสำหรับไฟล์และโฟลเดอร์
    • ตัวแสดงพื้นที่ที่ประหยัดได้พร้อมคำอธิบายโดยละเอียด
    • ตัวแสดงความคืบหน้าในแถบสถานะ
  • ความปลอดภัยและความน่าเชื่อถือ:
    • แคชของไฟล์ที่ประมวลผลพร้อมข้อมูลสำรอง
    • สำรองข้อมูลก่อนย้ายไฟล์ที่บีบอัด พร้อมการลบอัตโนมัติ

รูปแบบที่รองรับ

  • PNG (กระบวนการ WASM imagequant)
  • JPEG/JPG (กระบวนการ WASM mozjpeg)

WebP, GIF, BMP, HEIC/HEIF และ AVIF ถูกข้ามโดยตั้งใจในรุ่นนี้ เพราะปลั๊กอินไม่มีตัวเข้ารหัสสำหรับรูปแบบเหล่านี้

การตั้งค่า

การตั้งค่า คำอธิบาย ชนิด/ช่วง ค่าเริ่มต้น
คุณภาพ PNG (ต่ำสุด-สูงสุด) ช่วงคุณภาพของการลดสี PNG แบบสูญเสียข้อมูล 1-100 (เช่น 65-80) 65-80
คุณภาพ JPEG คุณภาพการบีบอัด JPEG 1-95 85
รากที่อนุญาต เส้นทางสัมพัทธ์ที่อนุญาตให้บีบอัด ว่าง = ทั้ง vault รายการข้อความ ว่าง
โฟลเดอร์ผลลัพธ์ โฟลเดอร์สำหรับบันทึกไฟล์ที่บีบอัด ข้อความ Compressed
บีบอัดไฟล์ใหม่อัตโนมัติ บีบอัดภาพใหม่เมื่อเพิ่มเข้ามา บูลีน false
การบีบอัดเบื้องหลัง บีบอัดเบื้องหลังเมื่อไม่มีการใช้งาน บูลีน true
เกณฑ์เบื้องหลัง จำนวนภาพที่ยังไม่บีบอัดซึ่งต้องมีเพื่อเริ่มโดยอัตโนมัติ 10-1000 50
เกณฑ์ไม่มีการใช้งาน จำนวนนาทีที่ไม่มีการใช้งานก่อนเริ่มบีบอัดเบื้องหลัง 1-60 นาที 2
การเก็บข้อมูลสำรองอัตโนมัติ ลบข้อมูลสำรองเก่าก่อนการย้ายโดยอัตโนมัติ บูลีน false
เก็บข้อมูลสำรอง, วัน ลบข้อมูลสำรองการย้ายที่เก่ากว่า N วันเมื่อเปิดการเก็บอัตโนมัติ 1-365 30
ย้ายไฟล์ที่บีบอัดอัตโนมัติ เมื่อเริ่ม ให้ย้ายไฟล์กลับตำแหน่งภาพต้นฉบับและแทนที่ต้นฉบับ บูลีน false
เกณฑ์การย้ายอัตโนมัติ จำนวนไฟล์ที่พร้อมย้ายซึ่งเรียกการย้ายอัตโนมัติ 1-1000 50

วิธีการทำงาน

  1. ไฟล์ที่บีบอัดถูกบันทึกใน Compressed โดยคงโครงสร้างเส้นทางเดิม
  2. แคชบันทึกไฟล์ที่ประมวลผลและขนาดต้นฉบับ เพื่อป้องกันการบีบอัดซ้ำและคำนวณพื้นที่ประหยัดได้อย่างถูกต้อง
  3. “ย้ายไฟล์ที่บีบอัด” ย้ายไฟล์จาก Compressed กลับตำแหน่งเดิมเมื่อต้นฉบับอยู่ในรากที่อนุญาต โดยสร้างข้อมูลสำรองก่อน

ไฟล์ขนาดเล็กมากมักถูกข้าม (PNG <5KB และ JPEG <10KB)

ขีดจำกัดความปลอดภัยภายในเป็นค่าคงที่: ไฟล์ใหญ่กว่า 100 MB ถูกข้ามก่อนอ่าน และภาพเกิน 100 ล้าน พิกเซลถูกข้ามหลังตรวจสอบส่วนหัว

การจัดเก็บข้อมูลและข้อมูลสำรอง

  • แคชหลัก: เก็บในโฟลเดอร์ปลั๊กอิน
  • ข้อมูลสำรองแคช: เก็บใน Vault/.local-image-compress/backups/cache/ และเก็บสูงสุด 50 ไฟล์
  • ข้อมูลสำรองภาพ: เก็บใน Vault/.local-image-compress/backups/originals/ และสร้างก่อนแทนที่ต้นฉบับ

ระบบอัตโนมัติ

  • การเปิด “การบีบอัดเบื้องหลัง” จะแสดงแถบเลื่อนสองรายการ:
    • เกณฑ์การบีบอัดเบื้องหลัง: 101000 ภาพ ค่าเริ่มต้น 50
    • เกณฑ์ไม่มีการใช้งาน: 160 นาที ค่าเริ่มต้น 2
  • การเปิด “เก็บข้อมูลสำรอง, วัน” จะแสดงแถบเลื่อนระยะเวลาเก็บ
  • การเปิด “ย้ายไฟล์ที่บีบอัดอัตโนมัติ” จะแสดงเกณฑ์จำนวนไฟล์ เมื่อเริ่ม การย้ายจะทำงานหากจำนวนไฟล์ใน Compressed ถึงหรือเกินเกณฑ์

การทำงานร่วมกับ Paste Image Rename

ปลั๊กอินนี้ปิดใช้ปลั๊กอินภายนอก obsidian-paste-image-rename ชั่วคราวระหว่างบีบอัดหรือย้าย ไม่สามารถปิดการป้องกันนี้ได้ เพราะการจับคู่ผลลัพธ์กับต้นฉบับต้องอาศัยการที่ปลั๊กอินอื่นไม่เปลี่ยนชื่อไฟล์ใหม่

เหตุใดจึงต้องใช้การป้องกันนี้

เหตุผลที่จำเป็น:

  • Paste Image Rename ลงทะเบียนตัวจัดการ vault.on("create") ซึ่งทำงานกับทุกภาพที่เพิ่มใน vault ประมาณหนึ่งวินาทีหลังสร้าง โดยทำงานกับชื่อที่ขึ้นต้นด้วย Pasted image เสมอ และกับภาพอื่นทั้งหมดเมื่อเปิด “Handle all attachments”
  • สำเนาที่เขียนลงโฟลเดอร์ผลลัพธ์จะเรียกตัวจัดการนี้ หากมีมุมมอง Markdown ที่ใช้งานอยู่ ตัวจัดการจะเปลี่ยนชื่อผลลัพธ์จนการจับคู่สำหรับการย้ายเสียหาย หรือแสดงกล่องเปลี่ยนชื่อสำหรับทุกไฟล์ หากไม่มีมุมมองที่ใช้งาน จะขึ้น Error: No active file found สำหรับทุกไฟล์และทำให้ส่วนติดต่อเต็มไปด้วยข้อผิดพลาดระหว่างประมวลผลแบบกลุ่ม
  • Obsidian ไม่มี API สาธารณะให้ปลั๊กอินหนึ่งหยุดอีกปลั๊กอินชั่วคราว ดังนั้นการปิดใช้เฉพาะปลั๊กอินนี้ชั่วคราวจึงเป็นวิธีเดียวที่เชื่อถือได้

การจัดการอย่างปลอดภัย:

  • มีผลเฉพาะ ID obsidian-paste-image-rename และเฉพาะระหว่างบีบอัดหรือย้าย
  • ปลั๊กอินจะถูกเปิดคืนหลังจากนั้น พร้อมลองใหม่หากจำเป็น เว้นแต่สถานะถูกเปลี่ยนจากภายนอก ตัวป้องกันบันทึกว่าตนเป็นผู้ปิดหรือไม่ และจะไม่พยายามคืนค่าหลังการเปลี่ยนดังกล่าว
  • การเปิดและปิดใช้ API ภายใน app.plugins ของ Obsidian เพราะไม่มี API สาธารณะที่เทียบเท่า โดยตรวจสอบว่าฟังก์ชันมีอยู่และจัดการข้อผิดพลาดอย่างเหมาะสม

ความเป็นส่วนตัวและการทำงานภายนอก

  • เครือข่าย: ไม่มีคำขอเครือข่ายขณะทำงาน ตัวแปลง PNG/JPEG รวมอยู่ใน main.js และไม่มีการอัปโหลดภาพ
  • การวัดผลและโฆษณา: ไม่มีการวิเคราะห์ การวัดผลทางไกล รายงานข้อขัดข้อง การติดตาม โฆษณาแบบไดนามิก หรือการอัปเดตตัวเอง
  • บัญชีและการชำระเงิน: ไม่ต้องใช้บัญชี การสมัครสมาชิก คีย์สัญญาอนุญาต หรือการชำระเงิน ปลั๊กอินไม่เข้าถึงลิงก์สนับสนุนที่เลือกได้ใน manifest
  • ไฟล์ใน vault: ปลั๊กอินอ่านภาพที่เลือกผ่านคำสั่ง ระบบอัตโนมัติ หรือรากที่อนุญาต เขียนผลลัพธ์ในโฟลเดอร์สัมพัทธ์ที่ตั้งค่า และแทนที่ต้นฉบับผ่านขั้นตอนย้ายหรือย้ายอัตโนมัติที่อธิบายไว้หลังสำรองข้อมูลเท่านั้น
  • สถานะในเครื่อง: แคชอยู่ในโฟลเดอร์ปลั๊กอิน ข้อมูลสำรองแคชและการย้ายอยู่ใต้ Vault/.local-image-compress/backups/
  • ไฟล์ภายนอก: ข้อมูลที่ปลั๊กอินจัดการอยู่ใน vault ปัจจุบัน “เปิดโฟลเดอร์” เพียงขอให้ระบบปฏิบัติการแสดงโฟลเดอร์ข้อมูลสำรองและไม่ส่งข้อมูล
  • ปลั๊กอินอื่น: obsidian-paste-image-rename อาจถูกปิดชั่วคราวดังที่อธิบายข้างต้น แล้วเปิดคืนหลังตรวจสอบว่าใครเปลี่ยนสถานะ

เคล็ดลับ

  • ช่วงคุณภาพที่เหมาะสม: PNG 65-80, JPEG 75-90
  • ตั้งค่า “รากที่อนุญาต” หากต้องการบีบอัดเฉพาะโฟลเดอร์ เช่น files/ หรือ images/
  • ใช้การบีบอัดเบื้องหลังเมื่อ vault มีภาพที่ยังไม่บีบอัดจำนวนมาก

คำถามที่พบบ่อย

ปลั๊กอินแจ้งว่าเริ่มต้นโมดูล WebAssembly ไม่สำเร็จ โหลดปลั๊กอินใหม่ หากเกิดซ้ำ ให้ระบุเวอร์ชัน Obsidian แพลตฟอร์ม และข้อผิดพลาดคอนโซลในรายงานข้อบกพร่อง

ไฟล์ที่บีบอัดเก็บไว้ที่ไหน? ค่าเริ่มต้นคือ Compressed หากต้องการแทนที่ต้นฉบับ ให้ใช้ “ย้ายไฟล์ที่บีบอัด”

คำนวณพื้นที่ที่ประหยัดได้อย่างไร? ผลลัพธ์จะแม่นยำเมื่อแคชมีขนาดต้นฉบับและผลลัพธ์ สำหรับ PNG/JPEG ที่ยังไม่บีบอัด ปลั๊กอินใช้การประมาณแบบระมัดระวังด้วยอัตราส่วนที่มีเพดาน และอ่านขนาดไฟล์ปัจจุบันจากดิสก์เมื่อจำเป็น

สัญญาอนุญาต

GPL-3.0-or-later. สัญญาอนุญาตและประกาศของบุคคลที่สาม: THIRD_PARTY_NOTICES.md.