18 KiB
Local Image Compress
บีบอัดไฟล์ PNG และ JPEG โดยตรงใน vault ของ Obsidian บนคอมพิวเตอร์ โดยไม่ใช้บริการคลาวด์หรือ API ลดพื้นที่ดิสก์ที่ภาพใช้ลง 30–70% โดยไม่ลดทอนคุณภาพ
Read in your language: English • العربية • Deutsch • Español • فارسی • Français • Bahasa Indonesia • Italiano • Nederlands • Polski • Português • Português (Brasil) • Русский • ไทย • Türkçe • Українська • Tiếng Việt • 日本語 • 한국어 • 中文简体 • 中文繁體
สารบัญ
- คุณสมบัติ
- รูปแบบที่รองรับ
- การตั้งค่า
- วิธีการทำงาน
- การจัดเก็บข้อมูลและข้อมูลสำรอง
- ระบบอัตโนมัติ
- การทำงานร่วมกับ Paste Image Rename
- ความเป็นส่วนตัวและการทำงานภายนอก
- เคล็ดลับ
- คำถามที่พบบ่อย
- สัญญาอนุญาต
คุณสมบัติ
- การบีบอัดภายในเครื่อง: บีบอัดภาพ 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 |
วิธีการทำงาน
- ไฟล์ที่บีบอัดถูกบันทึกใน
Compressedโดยคงโครงสร้างเส้นทางเดิม - แคชบันทึกไฟล์ที่ประมวลผลและขนาดต้นฉบับ เพื่อป้องกันการบีบอัดซ้ำและคำนวณพื้นที่ประหยัดได้อย่างถูกต้อง
- “ย้ายไฟล์ที่บีบอัด” ย้ายไฟล์จาก
Compressedกลับตำแหน่งเดิมเมื่อต้นฉบับอยู่ในรากที่อนุญาต โดยสร้างข้อมูลสำรองก่อน
ไฟล์ขนาดเล็กมากมักถูกข้าม (PNG <5KB และ JPEG <10KB)
ขีดจำกัดความปลอดภัยภายในเป็นค่าคงที่: ไฟล์ใหญ่กว่า 100 MB ถูกข้ามก่อนอ่าน และภาพเกิน 100 ล้าน พิกเซลถูกข้ามหลังตรวจสอบส่วนหัว
การจัดเก็บข้อมูลและข้อมูลสำรอง
- แคชหลัก: เก็บในโฟลเดอร์ปลั๊กอิน
- ข้อมูลสำรองแคช: เก็บใน
Vault/.local-image-compress/backups/cache/และเก็บสูงสุด 50 ไฟล์ - ข้อมูลสำรองภาพ: เก็บใน
Vault/.local-image-compress/backups/originals/และสร้างก่อนแทนที่ต้นฉบับ
ระบบอัตโนมัติ
- การเปิด “การบีบอัดเบื้องหลัง” จะแสดงแถบเลื่อนสองรายการ:
- เกณฑ์การบีบอัดเบื้องหลัง: 10–1000 ภาพ ค่าเริ่มต้น 50
- เกณฑ์ไม่มีการใช้งาน: 1–60 นาที ค่าเริ่มต้น 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, JPEG75-90 - ตั้งค่า “รากที่อนุญาต” หากต้องการบีบอัดเฉพาะโฟลเดอร์ เช่น
files/หรือimages/ - ใช้การบีบอัดเบื้องหลังเมื่อ vault มีภาพที่ยังไม่บีบอัดจำนวนมาก
คำถามที่พบบ่อย
ปลั๊กอินแจ้งว่าเริ่มต้นโมดูล WebAssembly ไม่สำเร็จ โหลดปลั๊กอินใหม่ หากเกิดซ้ำ ให้ระบุเวอร์ชัน Obsidian แพลตฟอร์ม และข้อผิดพลาดคอนโซลในรายงานข้อบกพร่อง
ไฟล์ที่บีบอัดเก็บไว้ที่ไหน?
ค่าเริ่มต้นคือ Compressed หากต้องการแทนที่ต้นฉบับ ให้ใช้ “ย้ายไฟล์ที่บีบอัด”
คำนวณพื้นที่ที่ประหยัดได้อย่างไร? ผลลัพธ์จะแม่นยำเมื่อแคชมีขนาดต้นฉบับและผลลัพธ์ สำหรับ PNG/JPEG ที่ยังไม่บีบอัด ปลั๊กอินใช้การประมาณแบบระมัดระวังด้วยอัตราส่วนที่มีเพดาน และอ่านขนาดไฟล์ปัจจุบันจากดิสก์เมื่อจำเป็น
สัญญาอนุญาต
GPL-3.0-or-later. สัญญาอนุญาตและประกาศของบุคคลที่สาม: THIRD_PARTY_NOTICES.md.
