1 điểm bởi GN⁺ 2024-05-11 | 1 bình luận | Chia sẻ qua WhatsApp
  • Sioyek là trình xem PDF tập trung vào việc đọc giáo trình và bài báo nghiên cứu, cung cấp khả năng nhanh chóng tìm lại các tệp đã mở trước đó và di chuyển trong cấu trúc của bài báo
  • Ngay cả với PDF không có liên kết, nó vẫn có thể nhảy tới hình minh họa và mục tài liệu tham khảo, đồng thời hỗ trợ tìm tên tài liệu tham khảo trên Google Scholar hoặc Libgen
  • Công cụ được xây dựng xoay quanh các tính năng điều hướng cần thiết khi đọc tài liệu dài như tìm kiếm mục lục, xem tổng quan nhanh, mark, bookmark và tìm kiếm highlight
  • Người dùng nhiều màn hình có thể dùng Portals để liên kết vị trí trong phần nội dung với vị trí hình minh họa, và tự động xem đích cổng gần nhất trong một cửa sổ riêng
  • Có sẵn bộ cài chính thức cho Windows, macOS, Linux cùng Homebrew Cask và các gói bên thứ ba cho nhiều bản phân phối Linux; bản build nhánh phát triển yêu cầu Qt 6.7 hoặc 6.8

Tổng quan dự án

Các cách cài đặt

Tính năng điều hướng tài liệu

  • Quick Open cho phép tìm kiếm và mở nhanh các tệp mà trước đây đã tương tác bằng Sioyek
  • Table of Contents cho phép tìm kiếm các mục trong mục lục và chuyển tới vị trí tương ứng
  • Smart Jump cho phép di chuyển tới hình minh họa hoặc mục tài liệu tham khảo được dẫn chiếu ngay cả khi tệp PDF không cung cấp liên kết
    • Có thể nhấp chuột giữa hoặc Shift+nhấp chuột giữa vào tên mục tài liệu tham khảo để tìm trên Google Scholar hoặc Libgen
  • Overview cho phép nhấp chuột phải vào hình minh họa, tài liệu tham khảo, bảng biểu, v.v. để mở chế độ tổng quan nhanh
    • Hoạt động ngay cả khi tài liệu không cung cấp liên kết, tương tự Smart Jump

Tính năng hỗ trợ đọc tài liệu dài

  • Mark cho phép lưu các vị trí có tên trong PDF và sau đó nhanh chóng quay lại bằng tên đó
    • Mỗi mark có tên là một ký tự đơn như a hoặc m
    • Mark chữ thường là cục bộ theo tài liệu, còn mark chữ hoa là toàn cục
    • Đây là cách làm quen thuộc với người từng dùng Vim
  • Bookmarks giống mark nhưng dùng tên chuỗi văn bản và đều là toàn cục
  • Highlights cho phép đánh dấu văn bản bằng nhiều loại highlight và tìm kiếm trong tất cả highlight
  • Portals cho phép liên kết đoạn hiện tại với một vị trí ở xa như hình minh họa
    • Hiển thị đích cổng gần nhất trong một cửa sổ riêng
    • Cửa sổ này thường được đặt trên màn hình thứ hai
    • Khi người dùng di chuyển trong tài liệu, nó sẽ tự động cập nhật tới đích cổng gần nhất

Cấu hình và build

  • Configuration cho phép tùy biến mọi phím tắt và một số thành phần UI bằng cách chỉnh sửa keys_user.configprefs_user.config
    • Cấu hình mặc định nằm trong keys.configprefs.config
  • Nếu gặp lỗi build Qt 5.* khi build nhánh phát triển thì cần dùng Qt 6.7 hoặc 6.8
  • Nếu trên macOS xuất hiện thông báo "sioyek is damaged and cannot be opened. It is recommended to eject the image." thì đó là vấn đề liên quan đến macOS quarantine, và đã có hướng dẫn thảo luận liên quan
  • Build trên Linux có cung cấp lệnh cho Fedora và quy trình chung cho các bản phân phối phổ biến
    • Bao gồm quy trình đã được kiểm thử trên Fedora Workstation 36
    • Quy trình chung cho các bản phân phối hướng dẫn cài Qt 5, qmake, libharfbuzz rồi chạy ./build_linux.sh
  • Build trên Windows đã được kiểm thử với Visual Studio 2019, và các phiên bản tương đối mới hơn cũng có thể hoạt động
    • Sau khi chuẩn bị Qt 5 và qmake, chạy build_windows.bat trong 64-bit Visual Studio Developer Command Prompt
  • Build trên Mac hướng dẫn cài Xcode và Qt6, sau đó chạy build_mac.sh, chuyển sioyek.app đã build vào /Applications/ rồi thực hiện codesign

1 bình luận

 
GN⁺ 2024-05-11
Ý kiến trên Hacker News
  • Tôi thích đến mức đã cài đặt trước cả khi đọc hết danh sách tính năng, nhưng có vẻ vẫn cần cải thiện, chẳng hạn như hiển thị 2 trang
    Giao diện điều khiển bằng bàn phím rất tuyệt, nhưng tiếc là không có lệnh trong menu. Việc không có cách nào mở lại trợ giúp ngay trong chương trình cũng khá lạ. Lúc mở lần đầu thì thấy trợ giúp, nhưng khi mở tệp thì nó biến mất, cuối cùng phải vào trang tài liệu trên website
    Dù vậy, có quá nhiều tính năng tốt được tối ưu cho nghiên cứu nên những bất tiện này vẫn đáng chấp nhận

    • Tôi là nhà phát triển Sioyek. Tôi đã thêm chế độ 2 trang vào nhánh phát triển
    • Có thể mở command palette bằng : rồi tìm kiếm lệnh và phím tắt
  • Tôi đã làm việc theo hướng tích hợp tốt hơn nội dung mình đọc với ghi chú của mình. Tôi muốn tập hợp những vị trí trong tài liệu nơi một ý tưởng nào đó được phát triển hoặc bị phản bác, đồng thời thu thập cả các ý tưởng hay
    Cahier (https://getcahier.com) mà tôi đang phát triển cho phép tạo các thẻ tham chiếu tới những đoạn cụ thể trong PDF đã đọc
    Thật thú vị khi thấy những tiến triển trong lĩnh vực này vài năm gần đây

    • Cahier có vẻ gần như đúng thứ tôi đã mong muốn từ lâu. Trong vài năm gần đây, khi xu hướng coi trọng quản lý tri thức một cách nghiêm túc xuất hiện, đã có nhiều công cụ tuyệt vời như Obsidian, Zotero, Anki, nhưng vẫn còn thiếu một giải pháp tốt để highlight và chú thích tài liệu đúng cách, rồi đưa nội dung đó ra khỏi tài liệu gốc và kết nối với bối cảnh rộng hơn của ghi chú
      Kết quả là nhiều silo xuất hiện, chẳng hạn bài báo nằm riêng trong Zotero, ghi chú nằm riêng trong Obsidian. Cahier chắc chắn có vẻ đi đúng hướng khi nhìn nhận quản lý tri thức như một workflow tích hợp, nối liền đọc, ghi chú, sắp xếp ghi chú, tạo insight mới và viết lách
      Tuy nhiên tôi lo rằng ở một số mảng sẽ phải phát minh lại bánh xe. Ví dụ, tôi tò mò liệu có kế hoạch tích hợp cả những tính năng như trình thu thập tích hợp web của Zotero hay không. Đó sẽ là khối lượng công việc khổng lồ, nhưng nếu không có thì khó thay thế hoàn toàn Zotero như một giải pháp quản lý tài liệu tham khảo. Tôi tò mò về roadmap, phạm vi tính năng cuối cùng và workflow của người dùng
    • Trông có vẻ tốt. Như nhiều người khác, tôi nghĩ mình vẫn sẽ tiếp tục dùng Zotero trong thời gian tới. Tính năng quan trọng nhất của Zotero là đồng bộ giữa các thiết bị
      Tôi thường đọc và chú thích bài báo trên iPad, và thích việc highlight cùng ghi chú được đồng bộ để có thể tham khảo ngay khi viết trên MacBook hoặc desktop Windows
      Tuy vậy, giải pháp ghi chú của Cahier có vẻ tốt hơn nhiều. Đôi khi tôi ước có thể ghép nhiều phần mềm lại với nhau để tạo ra công cụ vừa khít cho từng người
    • Bạn có thể giải thích thêm những tiến triển nào bạn thấy thú vị không? Tôi sẽ phải xem liên kết gốc, liên kết này và các công cụ khác trong thread
      Đã vài năm kể từ khi tôi nghiêm túc tìm hiểu cho mục đích cá nhân, nhưng khi đó tôi khá thất vọng với các lựa chọn. Về đọc hoặc sắp xếp PDF, Zotero và org-noter thuộc nhóm tốt nhất theo hai cách hoàn toàn khác nhau
      Tôi cũng đã dùng OneNote trong 1 năm và lúc đó thấy thích, nhưng vì nó không hỗ trợ tìm kiếm, khám phá và ôn lại thông tin nên khó dùng lâu dài cho xây dựng nền tảng tri thức hoặc tổng quan tài liệu
      Tôi nghĩ phần mềm để đọc và kết nối thông tin tài liệu dưới bất kỳ dạng nào như PDF, HTML, video, v.v. có thể tốt hơn rất nhiều so với những gì tôi dùng hằng ngày hiện nay
    • Tôi định kiểm tra website thì thấy chứng chỉ SSL đã hết hạn hôm nay. Có lẽ cần cấp lại :)
    • Trông khá thú vị. Tính năng thiết yếu với tôi là dữ liệu, bao gồm ghi chú và chú thích, vẫn ở trạng thái có thể sử dụng được sau hàng chục năm
      Nếu không thì công việc hôm nay sẽ biến mất. Tôi tò mò điều gì sẽ xảy ra nếu một ngày nào đó Cahier ngừng phát triển hoặc tôi phải chuyển sang hệ thống khác
  • Tôi dùng ứng dụng này suốt. Đây là một ứng dụng tốt. Một số tính năng, như nhảy tới trích dẫn, cũng có trong tiện ích Google Scholar cho Chrome, nhưng ý tưởng biến ứng dụng thành thứ có thể điều khiển giống Vim thật sự rất hay
    Trước Sioyek, tôi dùng Karabiner để thiết lập j/k và các phím khác trong macOS Preview nhằm di chuyển bằng phím Vim, nhưng quá trình đó rườm rà và không có nhiều tính năng mà Sioyek cung cấp. Ngoài ra, để giảm mỏi mắt, tôi dùng màu nền PDF kiểu solarized, và ứng dụng này còn hỗ trợ chế độ ban đêm cho cả các biểu đồ trong PDF
    Tôi cũng có vài phàn nàn. Có một extension để xem PDF song song trong panel hai cột, nhưng nó lại thay đổi chính tệp PDF thực tế. Việc cài plugin nói chung khó, tôi đã tìm và báo cáo một cách workaround nhưng không biết nó đã được đưa vào cải tiến ứng dụng chưa. Tệp cấu hình có vẻ được lưu trong thư mục Applications của ứng dụng, sẽ tốt hơn nếu nằm ở ~/.config. Tính năng mở nhanh tệp từ thư mục không hoạt động với các ổ đĩa đám mây, bao gồm iCloud

    • Tôi là nhà phát triển Sioyek. Tôi đã thêm chế độ hai panel native vào nhánh phát triển
      Về plugin, nhánh phát triển đã hỗ trợ extension JavaScript native. Vì dùng engine JavaScript nội bộ của Qt nên không có phụ thuộc bên ngoài và sẽ dễ xử lý hơn nhiều
      Tôi nghĩ tệp cấu hình trong nhánh phát triển cũng có thể dùng ~/.config, nhưng không chắc 100%
    • Tôi đồng ý rằng cài extension khá phức tạp
      Tôi thật sự không nhớ nổi cái tên sioyek, nên đã tạo alias cho xpdf
  • Tôi đã thử một cách tiếp cận mang tính cộng tác hơn để đọc và thảo luận các bài báo nghiên cứu. Tại https://www.scholars.io hoặc https://app.scholars.io, chúng tôi cho phép mọi người chú thích, bình luận và cộng tác trên các nghiên cứu

  • Tò mò liệu tính năng mục lục có hoạt động ngay cả khi PDF không có mục lục hay không. Đây là tính năng mà tôi luôn mong trình đọc PDF làm được

    • Ở một mức độ nào đó thì có. Sioyek phân tích văn bản và cố gắng tạo mục lục, nhưng không sửa PDF gốc; độ chính xác và mức hữu dụng thì khá thất thường
      Với bài báo nghiên cứu thì thường hoạt động khá tốt, thỉnh thoảng chỉ bỏ sót vài mục hoặc thêm vài mục linh tinh. Với giáo trình, đặc biệt là sách có nhiều dàn trang công thức, thường có quá nhiều mục vô dụng hoặc bị bỏ sót
      Nếu chỉ cần một số phần của bài báo hoặc giáo trình thì mục lục tự động tạo và bookmark nhìn chung là đủ. Ngoài ra, tôi thích dùng pdf.tocgen(https://github.com/Krasjet/pdf.tocgen) để tạo mục lục chính xác theo cách bán thủ công hơn
    • Có thể
      Nếu tệp không có mục lục và tùy chọn được bật, nó sẽ tạo mục lục bằng phương pháp heuristic. Có thể dùng max_created_toc_size để ngăn tạo mục lục quá lớn
      https://sioyek-documentation.readthedocs.io/en/latest/config...
    • Trang web nói là có thể: https://sioyek.info/
      Tôi nghĩ liên kết nên trỏ về trang web thì hợp lý hơn
  • Một cách lách đơn giản cho tính năng chuyển qua lại giữa hai trang, vốn dễ với sách giấy nhưng khó trên máy tính, là mở PDF hai lần nếu phần mềm cho phép chạy hai instance
    Nếu nó quá “thông minh” nên không cho làm vậy, hãy sao chép PDF, mở bản sao thứ hai, cuộn hai cửa sổ tới các vị trí khác nhau rồi dùng alt-tab để chuyển qua lại
    Trên điện thoại có thể dùng Acrobat Reader và Koreader cùng lúc

  • Sioyek có các tính năng hay, nhưng khá nhiều lỗi. Việc sửa lỗi và viết test có thể tốn rất nhiều công sức

  • Hơi ngoài lề, nhưng không biết có ai biết trình đọc PDF tốt nào tích hợp tìm kiếm dựa trên LLM không. Sẽ rất hay nếu tìm “cities in USA” trong tài liệu thì nó hiển thị tất cả các lần xuất hiện như New York, Los Angeles, Chicago chẳng hạn

    • PDFgear có tích hợp LLM và hiện đang miễn phí
  • Sẽ rất tốt nếu trình đọc này tích hợp với Zotero. Có vẻ cũng có thể làm dưới dạng plugin

  • Tôi từng khá thích Sioyek như một Zathura nhiều tính năng hơn, nhưng có hai lý do khiến tôi không thể dùng nó làm trình đọc PDF mặc định
    Thứ nhất, không thể mở nhiều PDF cùng lúc. Nếu đã mở một PDF rồi mà cố mở PDF thứ hai, cả hai instance đều bị crash
    Thứ hai, chú thích được lưu vào tài liệu riêng thay vì chính file PDF
    Những người dùng khác cũng từng ghi lại cả hai điểm này. Tôi chưa tìm được cách giải quyết dễ cho điểm 1; còn giải pháp một phần cho điểm 2 là dùng extension, nhưng theo tôi nhớ thì vẫn phải chạy lệnh thủ công để chuyển chú thích vào chính tài liệu PDF

    • Tôi đồng ý về vấn đề nhiều PDF. Tôi nghĩ việc này đang được xử lý. Tuy nhiên, tôi lại thích việc lưu chú thích vào tài liệu riêng thay vì nhúng vào PDF
      Lý tưởng nhất là nên cung cấp cả hai lựa chọn, giống như Zotero và extension đã nhắc tới, nhưng tôi thích tách riêng chú thích hơn vì có thể giữ bản sạch của PDF để chia sẻ với người khác
      Hơn nữa, hiện mỗi trình xem PDF hỗ trợ chú thích lại xử lý theo cách riêng, và các chương trình không phân biệt tốt highlight hoặc ghi chú do chương trình khác tạo ra với nội dung gốc
      Tuy vậy, Zotero và một số trình đọc đã bắt đầu dùng Web Annotation Data Model(https://www.w3.org/TR/annotation-model/) làm cơ chế lưu chú thích phổ quát. Hy vọng một ngày nào đó có thể xem và chỉnh sửa highlight và ghi chú tạo bằng Sioyek trong KOReader trên máy đọc sách, rồi gửi tệp chú thích cho đồng nghiệp dùng Zotero hoặc Obsidian/PMK có bản sao riêng của cùng PDF đó. Việc này vẫn còn rất sơ khai, nhưng đang được triển khai. https://hypothes.is cũng hoạt động hơi giống vậy
    • Theo phiên bản mới nhất 2.0.0 thì có vẻ có thiết lập cho điểm 1, nhưng chú thích trong tệp cấu hình được cung cấp có thể gây hiểu nhầm
      Khi đặt should_launch_new_instance thành 1, tôi có thể mở nhiều PDF cùng lúc trong Sioyek, nhưng chỉ khi mở các PDF sau cái đầu tiên từ terminal. Nếu mở từ trong Sioyek hoặc từ dmenu thì PDF đang mở sẽ bị thay thế. Dù vậy tôi chưa từng gặp crash. Tôi dùng dwm trên Debian
      Tôi thấy điểm 2 là hợp lý
    • Tôi là lập trình viên của Sioyek. Tất nhiên là phải mở được nhiều PDF. Ví dụ có thể dùng lệnh new-window hoặc truyền tùy chọn dòng lệnh --new-window
      Nếu xảy ra crash, mong bạn mở issue trên GitHub