1 คะแนน โดย GN⁺ 2024-01-15 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Citadel เป็นแอปจัดการคลังอีบุ๊กที่มุ่งเน้น UX ที่ดีกว่าและความรู้สึกที่ลื่นไหลกว่า โดยยังคงรักษาคลังอีบุ๊กที่ Calibre สามารถอ่านได้
  • เป้าหมายหลักคือ ความเข้ากันได้ย้อนหลังกับ Calibre, อินเทอร์เฟซที่ใช้งานง่ายและดูดี, และประสิทธิภาพที่ต้องรู้สึกว่าเร็วกว่า Calibre มากและต้องไม่ช้ากว่าเด็ดขาด
  • ขณะนี้ยังเป็น ซอฟต์แวร์ระยะเริ่มต้น จึงอาจมีบั๊กและฟีเจอร์ไม่ครบ อาจแครช ขาดความสามารถพื้นฐาน หรือทำให้คลังอีบุ๊กเสียหายได้
  • Citadel ไม่ใช่โปรแกรมอ่านอีบุ๊กหรือเครื่องมือแก้ไขเนื้อหาอีบุ๊ก แต่จะเปิดไฟล์ด้วยแอปเริ่มต้น และเน้นจัดการ metadata เช่น ชื่อเรื่อง
  • ดาวน์โหลด stable build ได้จาก Releases, development build ได้จาก GitHub Actions และการพัฒนาต้องใช้ Bun กับ Rust

สิ่งที่ Citadel ต้องการทำ

  • Citadel เป็นแอปสำหรับจัดการคลังอีบุ๊ก และตั้งต้นโดยให้ความเข้ากันได้ย้อนหลังกับ Calibre เป็นหลัก
  • คลังที่ Citadel แก้ไขแล้ว Calibre ต้องสามารถอ่านได้
  • เป้าหมายของโครงการมีสามข้อ
    • ความเข้ากันได้ย้อนหลังกับ Calibre: Calibre ต้องสามารถอ่านคลังที่ Citadel แก้ไขได้
    • UX ที่ดี: ต้องใช้งานง่ายและดูดี
    • ประสิทธิภาพ: ต้องให้ความรู้สึกว่าเร็วกว่า Calibre มาก และห้ามช้ากว่าโดยเด็ดขาด

สิ่งที่ไม่ทำ

  • Citadel ไม่ใช่ โปรแกรมอ่านอีบุ๊ก
    • มีแอปอ่านอีบุ๊กที่ดีอยู่แล้ว และ Citadel จะเปิดไฟล์ด้วยแอปเริ่มต้นของผู้ใช้
  • Citadel ไม่ใช่ เครื่องมือแก้ไขเนื้อหา อีบุ๊ก
    • ถ้าต้องการแก้ไขเนื้อหาภายในตัวอีบุ๊ก ไม่ใช่ metadata อย่างชื่อเรื่อง ก็ไม่ใช่ตัวเลือกทดแทน
  • ไม่ได้ตั้งเป้าให้เทียบเท่า Calibre แบบ ฟีเจอร์ครบ 100%
    • โดยหลักจะเป็นส่วนของปลั๊กอิน
    • ฟีเจอร์ขั้นสูงบางอย่างของ Calibre อาจจะไม่ถูกสร้างขึ้นมา

สถานะปัจจุบันและการดาวน์โหลด

  • Citadel ยังอยู่ใน ช่วงพัฒนาเริ่มต้นมาก
    • อาจแครชได้
    • อาจขาดฟีเจอร์พื้นฐาน
    • อาจทำให้คลังอีบุ๊กเสียหายได้
  • หากใช้ Citadel กับคลัง Calibre ควร สำรองข้อมูลเป็นประจำ
  • ดาวน์โหลด build ที่ค่อนข้างเสถียรได้จาก Releases
  • ดาวน์โหลด development build ได้จาก GitHub Actions
  • ขอให้รายงานปัญหาหรือการแครชที่พบไม่ว่าจะใช้เวอร์ชันใดก็ตาม

ข้อควรระวังในการติดตั้งบน macOS

  • build สำหรับ macOS ยัง ไม่ได้เซ็นรับรอง
  • หากเปิด Citadel.app โดยตรง จะมีคำเตือนว่าไฟล์ “damaged”
  • แก้ได้โดยลบคุณสมบัติ Quarantine ของไฟล์

การพัฒนาและการ build

  • ข้อกำหนดเบื้องต้นสำหรับการพัฒนาคือ ติดตั้ง Bun และ Rust
  • ติดตั้งแพ็กเกจ:
    bun install
    
  • รันสำหรับพัฒนา:
    bun run dev
    
    # or just bun dev
    
  • คำสั่ง lint และ format มีดังนี้
    • format โค้ดทั้งหมด: bun format
    • ตรวจสอบ format โค้ดทั้งหมด: bun format:check
    • lint โค้ดทั้งหมด: bun lint
    • format ฝั่ง backend: bun format:backend
    • lint ฝั่ง backend: bun lint:backend
    • format ฝั่ง frontend: bun format:web
    • lint ฝั่ง frontend: bun lint:web
  • สามารถรันตัวอย่างแอปได้โดยไม่ต้องมี backend
    • จะมี error แสดง เพราะสมมติว่ามี Rust backend อยู่ทั้งที่ไม่มีจริง
    bun dev:app
    
  • production build สร้างได้ด้วยคำสั่งต่อไปนี้หลังเตรียมข้อกำหนดสำหรับการพัฒนาแล้ว
    bun install
    bun run build
    

การอัปเดตและโครงการที่เกี่ยวข้อง

  • Citadel สามารถตรวจสอบอัปเดตของแอปและติดตั้งได้เมื่อผู้ใช้ร้องขอ
  • ปิดการตรวจสอบอัปเดตอัตโนมัติได้ที่ Settings > Auto updates: On/Off
  • การติดตั้งจะเกิดขึ้นเมื่อผู้ใช้สั่งอย่างชัดเจนเสมอ โดยข้อความใน UI คือ Install and restart
  • รายละเอียดการตั้งค่าสำหรับผู้ดูแลและ workflow ของ release อยู่ใน docs/updater-and-releases.md
  • Citadel ใช้ Calibre เป็นจุดอ้างอิง และได้รับแรงบันดาลใจจาก Calibre redesign Figma prototype

1 ความคิดเห็น

 
GN⁺ 2024-01-15
ความคิดเห็นจาก Hacker News
  • อาจมีคำถามว่า “ทำไมถึงสร้างแอปใหม่ แทนที่จะไปมีส่วนร่วมกับโปรเจกต์เดิมอย่าง Calibre Web?” คำตอบคือ ก็แค่อยากทำ
    ตอนนี้มันเป็นโปรเจกต์งานอดิเรก เลยสนใจการทำซอฟต์แวร์ให้สนุก แม้จะยังหยาบกว่าการต่อยอดโปรเจกต์เดิมก็ตาม Citadel ถูกออกแบบให้เข้ากันได้ย้อนหลังกับ Calibre ดังนั้นก็ยังใช้ Calibre Web ต่อไปได้
    ฝั่งแบ็กเอนด์ก็แยกโค้ดที่เชื่อมกับ Calibre ออกมาเป็นไลบรารีต่างหากแล้ว และตั้งใจว่าภายหลังจะให้โปรเจกต์อื่นนำไปใช้ได้ด้วย CLI สำหรับไลบรารี Calibre ก็น่าจะเป็นไปได้

    • รู้สึกเสียดายนิดหน่อยที่แม้แต่ในฟอรัมแฮ็กเกอร์ก็ยังต้องอธิบายแบบนี้ นึกถึงประโยคที่ชอบจากสุนทรพจน์วันรับปริญญาของ John Carmack:
      “ในหลายสาขา คำว่าอย่าประดิษฐ์ล้อขึ้นมาใหม่แทบจะถูกยอมรับเป็นสามัญสำนึก แต่บางครั้งผมก็อยากแนะนำว่าให้ลองทำอยู่ดี แค่กระบวนการนั้นก็ทำให้เราเก่งขึ้น และสุดท้ายล้อที่ดีกว่าก็เกิดขึ้นแบบนั้น เพราะผู้คนแค่ลงมือลองทำ”
      https://www.youtube.com/watch?v=YOZnqjHkULc
    • การเป็นคนผลักดันให้เขียน UI ใหม่ตั้งแต่ต้นก็น่าจะเป็นงานใหญ่กว่ามากด้วย
      Calibre แม้จะรู้ฟีเจอร์แล้วก็ยังใช้งานค่อนข้างทรมาน ทำให้แนะนำให้ใครใช้ได้ยาก ไม่ว่าจะเป็นปู่ย่าตายายหรือคนที่เชี่ยวชาญเทคโนโลยี
    • จากคำว่า “ตอนนี้มันเป็นโปรเจกต์งานอดิเรก” ยังได้กลิ่นอาย Linus Torvalds ช่วงแรก ๆ อยู่บ้าง: “แค่งานอดิเรก และคงไม่ใหญ่หรือเป็นมืออาชีพเหมือน gnu” [0]
      ยังไงก็หวังว่าโปรเจกต์จะไปได้ดี
      [0] https://www.cs.cmu.edu/~awb/linux.history.html
    • Calibre เป็นตัวท็อปในแง่ฟังก์ชันจัดการอีบุ๊ก แต่ในแง่ประสบการณ์ใช้งานหรือมุมมองนักพัฒนา ไม่เคยทำให้พอใจเลย มันไม่ได้ถูกออกแบบมาเป็นไลบรารีแบบโฮสต์ที่เข้าถึงผ่านเว็บ และโดยส่วนตัวประสบการณ์แย่มาก
      ถ้ามีคู่แข่งที่แข็งแรงกว่า เปิดกว้างกว่า ทันสมัยกว่า และคิดเผื่อ ไลบรารีแบบโฮสต์ ตั้งแต่แรก ก็น่าจะย้ายไปใช้ทันที
    • น่าจะพูดได้แค่ว่า “มันไม่ตรงกับความต้องการของผม และต้องเขียนแบ็กเอนด์ใหม่ทั้งหมด” ถ้าทิศทางของแอปที่ต้องการต่างจากของที่มีอยู่ขนาดนี้ ผมว่าไม่จำเป็นต้องพยายามให้เหตุผลกับการเลือกแบบนี้เลย
  • บางครั้งก็คิดว่าถ้า Calibre แค่หน้าตาดีกว่านี้ ผู้คนคงเห็นว่ามันยอดเยี่ยมแค่ไหน เอาจริง ๆ มันก็ไม่ได้แย่ขนาดนั้น และส่วนตัวก็ชอบ แต่ดูเหมือนผู้คนจะมองข้าม รูปลักษณ์ภายนอก ไปไม่ได้

    • Calibre ช้าและไม่เสถียรมาก การใส่ไลบรารีขนาดใหญ่ เช่น ระดับ 100GB ใช้เวลาหลายสัปดาห์จริง ๆ และต้องทยอยเพิ่มทีละนิด
      มันแครชอยู่เรื่อย ๆ และกระบวนการช้ามากจนต้องย้ายไปทำบนเครื่องแยกต่างหาก พอลองค้นหาผ่านเว็บอินเทอร์เฟซก็ช้ามากเช่นกัน
      ยังไม่ต้องพูดถึง UI ที่ไม่เป็นธรรมชาติเลยด้วยซ้ำ สำหรับสิ่งที่ทำหน้าที่เป็นไลบรารี มันยังห่างไกลจากรายการผู้แต่งแบบเรียง ก-ฮ/ตัวอักษรตามสไตล์ห้องสมุดจริง ๆ มาก
    • ปัญหาที่ผมเจอคือ Calibre พังไปเลยเมื่อมี อีบุ๊กมากกว่า 20,000 เล่ม
      เข้าใจว่าคนส่วนใหญ่น่าจะมีประมาณ 10–300 เล่ม แต่ผมพยายามใช้ Calibre กับไลบรารีใหญ่หลายชุด และมันรับไม่ไหวจริง ๆ
      การตัดสินใจยึดติดกับ SQLite อย่างเดียวก็ไม่ได้ช่วยอะไร ราวปี 2016 ผมเคยเปิด PR แต่ผู้ดูแลค่อนข้างคัดค้านอย่างหนักต่อการเปลี่ยนชั้นฐานข้อมูลหรือทำให้สลับเปลี่ยนได้
    • ถ้าหมายถึงทั้ง UI/UX ไม่ใช่แค่ความสวยงามอย่างเดียว ก็เห็นด้วย Calibre เป็นแอปที่ทรงพลังมากและมีฟีเจอร์เยอะ แต่ UI ที่ไม่เป็นธรรมชาติและเทอะทะคอยฉุดมันไว้
    • ไม่ใช่แค่ว่าไม่ได้แย่ แต่จริง ๆ แล้วมันแย่เลย ถ้าต้องจัดการอะไรอย่างห้องสมุดสาธารณะและอยากควบคุมรายละเอียดทั้งหมด ก็อาจจะโอเค แต่ถ้าแค่ต้องการเก็บไลบรารีส่วนตัว ทุกครั้งจะมีคำถาม “ทำ X ยังไง?” เยอะเกินไป
      แถมถ้าใช้เวลาไม่กี่วินาทีก็รันคอนเทนเนอร์ calibre-web เพื่อได้ UI ที่สะอาดตาและ OPDS แล้ว ทำไมต้องทนกับ “รสนิยมด้านภาพ” แบบนั้นด้วยก็ไม่รู้
    • ในฐานะคนอ่านอีบุ๊กแบบเบา ๆ เห็นด้วยมาก ถ้า Calibre มีทีมดีไซเนอร์ ก็น่าจะได้รับความนิยมและถูกใช้อย่างแพร่หลายกว่านี้มาก
      มันไม่เป็นธรรมชาติ และ UI/UX ค่อนข้างแย่ เป็นคำสาปที่แอปทรงพลังมักเจอกัน
      ถึงอย่างนั้นวันนี้จะลองกลับไปใช้อีกครั้ง ดูว่าจะทำความคุ้นเคยได้ไหม โดยเฉพาะสำหรับผู้ใช้ระดับสูงแล้ว ถือว่าเป็นผลิตภัณฑ์ฟรีที่ยอดเยี่ยมจริง ๆ
  • เป็นโปรเจกต์ที่ดี ผมชอบฟีเจอร์ของ Calibre แต่ UI ก็ทำให้ผมรู้สึกอึดอัดพอสมควรเหมือนกัน เลยเริ่มออกแบบอินเทอร์เฟซที่เหมือนเอา iTunes ก่อนยุค Apple Music มาผสมกับ iBooks
    ตอนนี้ทำไว้แค่หน้าจอเดียว แต่ดูได้ที่นี่: https://www.figma.com/file/m8qaYbPSnxiFPDPbuYtz2w/Calibre-re...
    คำถามหลักคือจะนำเสนอฟีเจอร์หลักของ Calibre ใน UI ที่ให้ความรู้สึกเหมือนเป็นเนทีฟของ macOS ได้อย่างไร
    ถ้าไม่ได้ตั้งเป้าให้เป็นครอสแพลตฟอร์ม ถ้ามีเวลาว่างก็อาจลองทำเป็นแอป SwiftUI พร้อมแบ็กเอนด์ Rust ได้
    การพัฒนาให้ตาม Calibre และดูแลรักษาอาจยาก แต่ดูเป็นโปรเจกต์งานอดิเรกที่น่าสนุก

    • ดูเท่มาก ผมไม่ใช่นักออกแบบ เลยรู้สึกขอบคุณเสมอเวลาได้เห็นว่าคนอื่นออกแบบสิ่งต่าง ๆ อย่างไร มีงานรีดีไซน์ Calibre อยู่สองสามโปรเจกต์ที่น่าใช้อ้างอิง
      โดยเฉพาะรีดีไซน์ที่ Kemie Guaida[1] โพสต์ใน Reddit เป็นแรงบันดาลใจด้านการออกแบบอย่างมาก และต้องใส่เครดิตไว้ใน repository ด้วย เดี๋ยวจะอัปเดตเร็ว ๆ นี้: https://old.reddit.com/r/Calibre/comments/udzumn/testing_a_n...
      ดูภาพรวมโปรเจกต์ทั้งหมดได้ที่นี่: https://www.figma.com/file/g4ntqXWa6C0PRGrG3WjyXM/Calibre-pr...
      [1]: https://kemielikes.design/
  • เพิ่งนึกได้เมื่อวานว่า บน Ubuntu 22.04 หลังจากต่อเครื่องอ่าน Kobo แล้ว แค่คัดลอก epub ไปไว้ในไดเรกทอรี root/ ของจุดเมานต์ /media/oakhaven/koboreader ก็พอ จากนั้นมันจะปรากฏในรายการหนังสือของอุปกรณ์
    ไม่รู้ทำไมถึงเคยคิดว่าการเอาหนังสือลง Kobo เป็นเรื่องซับซ้อน และตอนย้ายหนังสือจากแล็ปท็อปไป Kobo ก็ใช้แต่ Calibre
    ผมรู้ว่า Calibre มีฟีเจอร์อื่น ๆ อีกมาก แต่ไม่ชอบอินเทอร์เฟซของมัน และตอนนี้ก็ดีใจที่ไม่ต้องใช้ Calibre หรือแอปคล้าย ๆ กันอีกแล้ว

    • นี่เป็นหนึ่งในเหตุผลที่เมื่อหลายปีก่อนผมซื้อ Kobo แทน Kindle ต่อแล้วมันจะเมานต์เหมือน อุปกรณ์เก็บข้อมูล USB แบบ Mass Storage ทั่วไป แล้วก็คัดลอกไฟล์ได้เลย
      ไม่ต้องมีฟอร์แมตพิเศษ และฟอร์แมตมาตรฐานอย่าง ePub ก็ทำงานได้ดี
      ผมเลยสงสัยว่า Kindle ยังได้รับความนิยมขนาดนั้นได้อย่างไร อาจเป็นผลจากการมาก่อนหรือเปล่าไม่รู้ แต่เครื่องอ่านอีบุ๊กที่อ่าน ePub กับ PDF ไม่ได้ ให้ความรู้สึกเหมือนเครื่องเล่นเสียงที่เล่น MP3 กับ AAC ไม่ได้
    • แนะนำให้รัน epub ผ่าน kepubify [1] สักรอบก่อนย้ายไปเครื่องอ่านอีบุ๊ก
      [1]: https://pgaskin.net/kepubify/
    • ตั้งค่านานแล้ว แต่ซิงก์ผ่าน ssh ได้ด้วย จึงซิงก์ไดเรกทอรีแบบ recursive ผ่านไร้สายได้
      ผมคิดว่าตอนนั้นใส่หนังสือชุดแรกผ่าน USB แล้วซิงก์ข่าวรายวันกับหนังสือเพิ่มเติมด้วย rsync เนื้อหาบางส่วนถูกสร้างอัตโนมัติแล้วใส่ลงไดเรกทอรี เช่น จากการดึงข้อมูลอัตโนมัติหรือการสมัครรับทางอีเมล และบางส่วนก็ใส่เองด้วยมือ เช่น คัดลอกหนังสือใหม่หลังซื้อมา
      จริง ๆ แล้วมันไม่ใช่ปัญหาที่ซับซ้อนมาก แต่ Calibre ทำอะไรได้มากกว่าการคัดลอกหนังสือไปยังโครงสร้างโฟลเดอร์เฉพาะเยอะ
    • ผมค่อนข้างประหลาดใจตอนรู้ว่าทำแบบนั้นได้ นึกว่า Calibre ทำอะไรพิเศษอยู่เสียอีก ดังนั้น Citadel จึงมีฟีเจอร์ "คัดลอกไปยังโฟลเดอร์" สามารถคัดลอกอีบุ๊กไปยังไดรฟ์ภายนอกได้
      ไม่แน่ใจว่ามันง่ายกว่าการเปิดโฟลเดอร์แล้วคัดลอก/วางเองจริงไหม แต่เวลา Citadel ตรวจจับว่ามีหนังสืออะไรอยู่บนอุปกรณ์ มันจะอัปเดต ไฟล์เมทาดาทา ที่ Calibre ใช้ ทำให้ไม่ต้องอ่านไฟล์ทั้งหมดในโฟลเดอร์
    • ถ้าจะใช้ Kobo ต้องมีบัญชีไหม? หรือซื้อมาแล้วใส่ epub ลงไดเรกทอรีนั้นแล้วอ่านได้ทันทีเลย?
  • ดูดีเลย เมื่อสัปดาห์ที่แล้วผมเพิ่งลองกลับไปใช้ Calibre อีกครั้ง แล้วก็หล่นลงไปในหลุมดำที่เรียกว่า UI นั่น ผมเคยคิดจะอาสาช่วยงาน UI/UX แต่ดูเหมือนจะกลายเป็นโปรเจกต์ยาวหลายปี
    แทนที่จะทำแบบนั้น ผมอาจช่วยเรื่อง UI/UX ของโปรเจกต์นี้ได้

    • จากที่ติดตามมาหลายปี ผมรู้สึกว่าโปรเจกต์ Calibre โดยรวมไม่ได้ต้อนรับการปรับปรุงเท่าไร Kovid Goyal มีสิ่งที่เขาต้องการอยู่แล้ว และถ้าคุณต้องการอย่างอื่น ก็คงต้อง fork แล้วดูแลเอง
      เขาทำผลงานที่น่าทึ่งมาก แต่เป็นหนึ่งในคนที่มีรสนิยมแรงมาก จนแม้คนอื่นจะเสนอตัวทำงานให้ เขาก็อาจแสดงท่าทีเป็นปฏิปักษ์อย่างรวดเร็ว ตามอำเภอใจ และแปลก ๆ กับบางเรื่องได้
    • ผมไม่ได้ใช้ Calibre นานพอที่ UI จะรบกวนใจ ใช้ทุกไม่กี่เดือน ครั้งละไม่เกิน 10 นาที นำเข้า Epub อัปเดตเมทาดาทา แล้วส่งไปยังอุปกรณ์
      อ่านหนังสือไปสองสามเดือน แล้วค่อยทำขั้นตอนนำเข้าใหม่อีกครั้ง
    • อีกมุมหนึ่งคือ ผมไม่เคยมีปัญหากับ UI ของ Calibre และโดยปกติก็ทำสิ่งที่ต้องการได้อย่างรวดเร็วและมีประสิทธิภาพ
      ถามด้วยความสงสัยจริง ๆ มีตัวอย่าง แอปสมาร์ตโฟนแบบเนทีฟ ที่มีฟีเจอร์ครบเท่า Calibre แต่เสนอออกมาในรูปแบบที่ดีกว่าและใช้ง่ายกว่ามากไหม?
  • ชอบตรงที่นำโปรเจกต์งานอดิเรกออกมาเปิดตัวจริง ดูสะอาดตาดีด้วย และ calibre CLI ก็น่าจะได้รับการต้อนรับแน่นอน ไม่ชอบต้องคลิกเมนูเข้าไปทีละห้าชั้น
    ถ้าไม่ได้ตั้งเป้าไว้อย่างชัดเจนในส่วน “reader” และ “editor” ก็สงสัยว่า Citadel ทำอะไรให้ผู้ใช้จริง ๆ กันแน่ เป็นพอร์ทัลสำหรับดู จัดเรียง และคลิกหนังสือเป็นหลักหรือเปล่า? มีโรดแมปที่คิดฟีเจอร์เพิ่มเติมไว้ไหม?

    • การใช้งานหลักของ Calibre สำหรับผมคือรวบรวม epub ไว้ที่เดียว และบางครั้งก็ซิงก์กับเครื่องอ่านอีบุ๊ก เวลาจะเพิ่มหนังสือก็ต้องดึง เมทาดาต้า อย่างชื่อเรื่อง, ISBN มาด้วย
      Citadel จะรองรับการแก้ไขเมทาดาต้าอย่างชื่อหนังสือ ผู้เขียน และในอนาคตก็แท็กกับคอลัมน์กำหนดเอง และตอนนี้ก็รองรับบางส่วนแล้ว เรื่องนี้แน่นอน การซิงก์อุปกรณ์ก็น่าจะมีตามมาเมื่อเวลาผ่านไป และจะเพิ่มฟีเจอร์ดาวน์โหลดเมทาดาต้าจากแหล่งออนไลน์ด้วย
      แต่ไม่มีแผนจะแก้ไขเนื้อหาในหนังสือหรือใส่เครื่องอ่านอีบุ๊กในตัว เพราะมีแอปและอุปกรณ์อ่านอีบุ๊กดี ๆ อยู่มากแล้ว และคิดว่าการแก้ไข epub ไม่ได้ใช้กันบ่อยเท่าการจัดการคอลเลกชัน
      ยังไม่มีโรดแมป แต่เปิดรับฟีดแบ็กและไอเดียเสมอ
      เพิ่มเติมคือฟีเจอร์อย่างการแปลงฟอร์แมตและการลบ DRM ก็น่าจะเข้ามาด้วย อุดมคติคืออยากทำเป็น crate หรือปลั๊กอิน เพื่อให้ขยายความสามารถได้ง่ายขึ้น
    • Calibre CLI น่าจะหมายถึงการจัดการคอลเลกชันหนังสือ แต่ถ้าต้องการแค่แปลงหนังสือ Calibre ก็มี CLI ชื่อ ebook-convert อยู่แล้ว รองรับไฟล์หลายฟอร์แมต เช่น epub, pdf, azw3, mobi เป็นต้น
      ตัวอย่าง:
      ebook-convert file.epub file.azw3
  • ดูเจ๋งมาก และตั้งใจว่าจะลองดู น่าขำตรงที่เมื่อไม่นานมานี้ผมเพิ่งทำแอปเดสก์ท็อปสำหรับจัดการหนังสือเสียงด้วยสแต็กเดียวกันคือ Rust + Tauri + Svelte
    ขอโปรโมตเผื่อมีคนสนใจ: https://gitlab.com/fonner/audiobook-locker#audiobook-locker

    • เจ๋งดี ผมเองก็เคยลองจับ Tauri นิดหน่อยในบางโปรเจกต์ก่อนหน้านี้
      อยากรู้ว่าทำไมถึงเลือก Svelte และ Tauri สำหรับโปรเจกต์นี้ คุ้นเคยอยู่แล้วหรือเปล่า?
    • จะลองดูโปรเจกต์นี้เพื่อหาแรงบันดาลใจ
  • นอกเรื่องนิดหน่อย แต่วิธีรันแบบนี้ทำให้วันของผมสดใสขึ้นเลย
    bun dev -- -- -- -- --server ...

    • ชักสงสัยแล้วว่าเกิดอะไรขึ้นกันแน่
  • น่าสนใจ ผมเองก็เริ่มทำโปรเจกต์คล้าย ๆ กันด้วยไอเดียคล้ายกันอยู่พักหนึ่ง แต่เลือกใช้ SvelteKit กับเบราว์เซอร์ แทนแอปเนทีฟ
    https://github.com/project-kiosk/kiosk
    ยังรักษาแรงจูงใจไว้นานพอที่จะทำให้เสร็จไม่ได้

    • ดูดีนะ อยากให้ทำต่อ และอยากลองใช้ด้วย
  • บทความสั้น ๆ เกี่ยวกับ Citadel: https://denhoff.ca/posts/replacing-calibre