1. Click vào đây để xem chi tiết

PC PageEdit - phần mềm dựa trên chế độ bookview cũ của Sigil

Thảo luận trong 'Hướng dẫn chung' bắt đầu bởi tran ngoc anh, 24/8/23.

  1. tran ngoc anh

    tran ngoc anh Cử nhân

    Cách để loại bỏ đuôi Private nửa vời của Alezaa :D
     
  2. tran ngoc anh

    tran ngoc anh Cử nhân

    Và lạ thay sau khi đổi hết đuôi .private thành html và chọn lại Restructure Epub to Sigil Norm thì lại được. Nó tạo thêm OEBPS phía trước đường dẫn tên các tệp trong epub.

    Mà thực ra ngay cả khi sửa cấu trúc thư mục xong bằng tùy chọn này thì plugin epub2note vẫn tạo ra link lỗi.

    Plugin này không tạo ra link đúng ngay từ đầu có "../" phía trước đường dẫn của mỗi link html trong các liên kết chú thích. Nếu nó tạo "../" từ đầu thì cho dù có tái cấu trúc các thư mục bên trong epub hay không thì liên kết vẫn nảy bình thường.

    Khổ cái là người dùng bình thường như chúng ta không biết cách tùy chỉnh lại plugin, không như function của Calibre chỉ là các dòng text, sửa đơn giản lắm.
     
    Chỉnh sửa cuối: 28/8/23
  3. tran ngoc anh

    tran ngoc anh Cử nhân

    Bữa nay mới hiểu hết câu này của bạn, vừa phát hiện Sigil không có tùy chọn revert như Calibre editor mà chỉ có undo thôi, undo không thể phục hồi được những thay đổi do plugin gây ra. Điểm này đúng là rất nguy hiểm. Sigil cần sớm thêm tùy chọn này.
     
    machine and huydatvns like this.
  4. tran ngoc anh

    tran ngoc anh Cử nhân

    Để ý Alezaa dường như làm epub cho macOS đọc thôi thì phải, popup hiện tự nhiên trên Calibre, font chữ cũng không bị "giãn nở" kỳ lạ như khi mở trên Windows :D
    [​IMG]
     
    huydatvns thích bài này.
  5. Nhẫn nại

    Nhẫn nại Lớp 2

    Mình đã tìm ra nguyên nhân, lỗi này xuất phát từ id trong file content.opf, không hiểu tại sao mà file epub của Alezaa lại đặt id của các link html không phải bằng tên của các file html mà lại thêm đầu 'Text-'.

    Do vậy, khi plugin epub2_popupnotes xử lý thì nó lại lấy id của file html trong file content.opf để gắn link href truy ngược về file .html, từ đó sinh ra lỗi, cách giải quyết vấn đề có khá nhiều, ví dụ như:

    1. Tự fix link trong file fn.xhtml - dùng find&replace xóa đi Text- (cách này không giải quyết triệt để được vấn đề do lỗi nằm trong file content.opf) - ưu điểm: nhanh, dễ hiểu

    2. Đổi tên file html để sigil nhận biết mà cập nhật lại các id theo tên mới trong file content.opf (như bạn @huydatvns hướng dẫn ở trên) - ưu điểm: nhanh, dễ hiểu, triệt để

    3. Sửa lại plugin epub2-popupnotes, để nó gắn link href trong file fn.xhtml bằng link href trong file content.opf thay vì dùng id có dính 'Text-' - nhược điểm: phức tạp, lâu, không triệt để
     
    Chỉnh sửa cuối: 28/8/23
    machine, huydatvns and tran ngoc anh like this.
  6. tran ngoc anh

    tran ngoc anh Cử nhân

    Mình thấy sửa plugin mới triệt để ấy, plugin sửa sao cho bất kỳ điều kiện nào vẫn chạy được thì đỡ công :D
     
  7. tran ngoc anh

    tran ngoc anh Cử nhân

    Sigil bản mới nhất có tính năng sửa tên các html bằng regex, này khá hay, trong nội dung regex được thì tên file cũng phải regex được :D
     
    huydatvns thích bài này.
  8. Nhẫn nại

    Nhẫn nại Lớp 2

    Mình cũng đồng ý với bạn, thay vì plugin dùng id của file content.opf để tạo href tại fn.xhtml thì nó có thể lấy trực tiếp link href của file content.opf làm href luôn, và cách sửa này sẽ bao quát cho nhiều các sách khác cũng bị lỗi tương tự.

    Một vấn đề là file content.opf vẫn sẽ bị lỗi (vẫn còn đó các id chứa cụm 'Text-') vì sigil vẫn chưa cập nhật lại các id của file html (xảy ra khi chúng ta thực hiện việc đổi tên). - Đây là lý do mình bảo cách này không triệt để.

    P/s:

    Mình có chỉnh sửa lại chút ít plugin của @Rafa@huydatvns để thực tế hóa ý tưởng trên. Nguyên lý hoạt động rất đơn giản, bảo plugin tạo href trong file fn.xhtml bằng href của content.opf thay vì id, thêm cụm '../' phía trước để link có thể hoạt động một cách bình thường.

    (Link tạo ra sẽ có dạng như sau: href="../texts/-VIII-.html.private#r8")
     

    Các file đính kèm:

    Chỉnh sửa cuối: 28/8/23
  9. tran ngoc anh

    tran ngoc anh Cử nhân

    Hóa ra sửa được plugin luôn, :D
    Bạn nói nó không triệt để vì vẫn phải dựa vào file content opf. Còn mình suy nghĩ bằng cái nền function của Calibre, f=file_name thì Calibre sẽ căn theo tên của các html mà xử lý, không cần quan tâm đến content opf gì hết nên mình nghĩ nếu plugin Sigil có thể làm được như function Calibre thì đó là triệt để. Xem ra ca này function Calibre giải quyết đơn giản hơn :D
     
  10. tran ngoc anh

    tran ngoc anh Cử nhân

    @Nhẫn nại plugin epub3-popupnotes-href.zip của bạn không hiểu sao mình nhập vô Sigil lần nào Sigil cũng bị văng ra. Plugin epub2 thì chạy tốt rồi. Good job.
     
  11. Nhẫn nại

    Nhẫn nại Lớp 2

    Mình kiểm tra lại thì không có vấn đề gì, bạn giúp mình check lại mấy thứ sau đây:

    1. Khi bạn add plugin vào bị văng ra hay chạy plugin mới bị văng?
    2. Bạn có đang dùng với file epub3 không?
    3. Bạn thử lại plugin epub3-popupnotes của bạn @huydatvns thử xem có bị lỗi văng ra tương tự không?
    4. Bạn dùng sigil trên macos hay windows?

    Nếu nó gặp lỗi trong nền sigil, chẳng hạn chạy được nhưng không tìm thấy note, hoặc không tạo được file fn.xhtml thì dễ tìm nguyên nhân hơn, còn lỗi văng hẳn cả sigil thì khó xác định nguyên nhân lắm.
    Nếu được, bạn cho mình xin file epub bạn dùng để mình kiểm tra thử.

    Mình có kiểm tra thử lần đầu là chạy plugin xong convert sang epub3, lần 2 là convert trước xong mới chạy plugin tạo notes. Cả 2 lần plugin đều hoạt động bình thường, không có vấn đề gì lạ.

     
  12. tran ngoc anh

    tran ngoc anh Cử nhân

    Khi thêm chứ không phải khi chạy nhé, phía trên mình nói khi "nhập vô" Sigil mà.


    Cả khi đang mở cuốn bà Bôvary và khi chỉ mở Sigil, không mở epub nào đều bị văng.


    Của bạn Huy Đạt không bị văng.


    macOS. Trên Windows chưa test.



    Là file Bà Bôvary zin ban đầu của Alezaa.
     
  13. Nhẫn nại

    Nhẫn nại Lớp 2

    Nếu không phải lỗi do chạy thì có thể do file nén zip bị sao đó khiến cho khi add vào thì sigil bị crash.

    Mình đã nén lại file bằng 7zip, bạn thử add lại xem sao.
     

    Các file đính kèm:

  14. huydatvns

    huydatvns Lớp 7

    Ý kiến riêng của mình.
    Đầu tiên thống nhất cách gọi với nhau: nếu file ko tuân thủ cấu trúc epub tổ chức idpf quy định (ảnh ở status trước) => thì tạm gọi là lỗi (lỗi ko tuân thủ, dù file vẫn xem bình thường)

    Extract file Bà Bôvary thấy ngay bố cục ko giống quy định epub, các file nội dung nằm rải rác ko gom chung về thư mục gốc OEBPS => lỗi (content.opf và container.xml vẫn khớp nhau)
    • Trường hợp này => đoán họ soạn thảo text trên các trình html riêng (vd: vscode, sublime...), ưu tiên đọc trên web như waka (thấy -webkit, -ms trong css) rồi đóng gói, chứ soạn trên sigil và calibre => ko có lỗi này
    • Đúng như bạn nói, lỗi nằm ở id trong content.opf. Ko riêng id là 'text-' đâu bạn, một số epub cũ id còn có dạng id="id01","id02","section001"... dù tên ở href là tên đúng theo mục lục: gioithieu.html, chương 1.html,...=> do file đã chạy plugin id ko đúng hoặc qua chỉnh tay...
    => Fix đơn giản: đổi tên file :)
    Plugin này chỉ chạy cho epub alezaa, nếu chú thích có thêm class, hoặc thay đổi vị trí class hoặc bị dính code calibre sinh ra thì buộc chỉnh lại điều kiện (hoặc phải xóa tay phần thừa đưa về đúng dạng điều kiện rồi mới chạy plugin) => phạm vi ứng dụng nhỏ => nên đổi tên plugin: vd epub2-note-alezaa.zip lại cho dễ nhận diện :D
     
    Nhẫn nại thích bài này.
  15. Nhẫn nại

    Nhẫn nại Lớp 2

    Mình đã đổi lại tên plugin theo góp ý của bạn.

    Về phạm vi ứng dụng thì mình cũng đồng ý với bạn là nhỏ thật, nếu trong trường hợp muốn gom chú thích vào 1 file footnote cho những quyển có định dạng chú thích khác thì họ sẽ đưa các định dạng khác về dạng Vui lòng đăng nhập hoặc đăng ký để xem link của bạn @quocsan chứ không ai đưa về dạng của alezaa để tự làm khó mình cả.

    Một điều mình học được sau khi tìm hiểu cái phần chú thích này là tốt hơn hết link href nên ở dạng: href="../texts/-VIII-.html#r8" (dạng 1) thay vì href="-VIII-.html#r8" (dạng 2).

    Mình đã thử convert file epub sang azw3 khi link href ở dạng 2 bằng cả 2 cách, một là dùng plugin của sigil thì cho ra kết quả một số đường link href không ở dạng href="Part01.html#r8" mà bị lỗi thành 1 hàng XXXXXXXXXXX; còn nếu convert theo cách của bạn dùng Unpack Book thì href có dạng href="../texts/-VIII-.html#r8", như vậy sẽ làm cho link chú thích không dùng được vì azw3 thì các file html đều chỉ có thể tên là Part001...
     
    huydatvns thích bài này.
  16. tran ngoc anh

    tran ngoc anh Cử nhân

    Bản này mình add được trên Win rồi nhé.
     
    Nhẫn nại thích bài này.
  17. tran ngoc anh

    tran ngoc anh Cử nhân

    Trong file .py có 75 dòng code python :D
    Nhìn không hiểu được gì :D
     
  18. tran ngoc anh

    tran ngoc anh Cử nhân

    Bạn xem file này, mình thấy nó đúng cấu trúc nè:
     

    Các file đính kèm:

  19. huydatvns

    huydatvns Lớp 7

    Mình vừa test thử lại file.
    Nguyên tắc: tuân thủ cấu trúc epub
    1. Dùng plugin của mình
    • Đổi tên file html\chạy plugin => note ok
      • Convert epub sang azw3 bằng calibre => note ok
      • Convert\copy kiểu uppark book vẫn => note ok
    • Chạy plugin\ko đổi tên file html => note lỗi => khỏi làm tiếp :D
    • Chạy plugin\chỉnh tay ../ => note ok
      • Convert epub sang azw3 bằng calibre => note ok
      • Convert\copy kiểu uppark book vẫn => note ok
    2. Dùng plugin-href của bạn
    • epub\chạy plugin\đổi tên file html => note ok (*)
      • Convert epub sang azw3 bằng calibre => note ok
      • Convert\copy kiểu uppark book vẫn => note ok
    • epub\chạy plugin\ko đổi tên file html => note ok
      • Convert epub sang azw3 bằng calibre => note ok
      • Convert\copy kiểu uppark book vẫn => note ok
    Kết: đúng cấu trúc thì dùng kiểu nào cũng được :D
    Ý của mình là chú thích epub alezaa có mấy dạng trên web, ko khớp điều kiện dò tìm của plugin khi chạy lỗi ngay. Vd mình alezaa mình ko có epub mà có file azw3

    upload_2023-8-29_17-34-30.png

    Về dạng Vui lòng đăng nhập hoặc đăng ký để xem link chạy plugin của bác quocsan là chuẩn rồi. Nhưng nếu bạn đụng phải nội dung chú thích có dạng sau:ví dụ ^[Nội dung chú thích được cập nhập năm [2023] là bản mới nhất]. (nhiều sách thường có dạng [..[..]..] lồng nhau)
    => plugin quét và show ra : Nội dung chú thích được cập nhập năm [2023] chú thích bị cắt mất khúc là bản mới nhất] => thiếu nội dung. Trường hợp này lại phải thay ^[...] sang kí tự khác vd ^{...} :)
     
    Nhẫn nại thích bài này.
  20. huydatvns

    huydatvns Lớp 7

    Đúng chủ hộ epub :), check thêm chính chủ: thẻ id cmnd thì thấy trước đăng ký ko đúng thông tin rồi. Giờ một là viết giấy tay cập nhập lại. Hai là yêu cầu sigil sửa online thôi :D

    upload_2023-8-29_18-15-54.png
     
: Sigil

Chia sẻ trang này