Ví dụ như thế này: ...“Trông cứ như cửa hàng của Anna Sui<a href="#id1" epub:type="noteref">*</a> ấy.” Một thư viện cá nhân nho nhỏ, phải không? Chỉ bấy nhiêu thôi nhưng tôi nghĩ đó là gia tài khổng lồ của Câu lạc bộ Văn học chúng ta đấy.</p> <aside epub:type="footnote" id="id1"><p> Một nữ thiết kế người Mĩ gốc Hoa nổi tiếng.</p> </aside> <p>Chẳng những thế,.... Phần note của chỗ gạch chân được chèn luôn phía dưới (in đậm), phần này không hiện khi đọc sách vì trong css đã cho footnote thành display: none; Code: aside[epub|type~='footnote'] { display: none; } Trong 1 file HTML có nhiều footnote thế này. Thứ nhất là em muốn biết liệu có thể chuyển hết các footnote này vào một file mới một cách nhanh nhất mà ko phải copy/paste từng cái không? File nào có ít em vẫn copy/paste nhưng file có nhiều làm cực quá không làm đc, lúc tìm còn dễ nhầm lẫn hoặc cắt xong id và href dẫn link đến page bị sai dẫn đến link không hoạt động nữa. Thứ 2 là một quyển ebook không chỉ có 1 file HTML có nhiều footnote mà có nhiều file HTML, mỗi file có nhiều footnote thì cũng lại có cách nào nhanh nhất để cho tất cả các footnote của tất cả các file HTML vào chung 1 file mới không?
Làm được bác ạ. Em vẫn thường làm suốt, nhưng tùy cấu trúc của mỗi cuốn sách mà chúng ta triển khai nó chứ không có một công thức chung nào cả, nên có thể em sẽ phải hướng dẫn bác "nguyên tắc" làm, và bác tùy biến ở mỗi cuốn sách. Đầu tiên: Ví dụ mà bác cho, đang là link một chiều, nó chỉ link từ nội dung sang chú thích mà thôi (không có ngược lại), nên khi nó nằm nguyên vị trí, thì không thành vấn đề gì, nhưng lúc ta dời chú thích về cuối trang thì Chú thích sẽ một đi mà không quay trở lại được. Do đó bác phải làm lại link 2 chiều cho chú thích (Ôi hơi rắc rối trong diễn đạt đây). Cách 1: Trả về trạng thái ban đầu và làm chú thích như đã hướng dẫn. (cách này tương đối dễ hiểu, em sẽ hướng dẫn bác cách này trước) cách 2 thì nếu có thời gian chúng ta sẽ bàn tiếp. Bước 1: Find: <a href="#(.*?)(\d+)" epub:type="noteref">\*</a> Replace: [\2] Bấm replace all Bước 2: Find: <aside epub:type="footnote" id="(.*?)(\d+)"><p>(.*?)</p> </aside> Replace: <p>[\2]\3</p> Bấm replace all Bước 3: Chuyển hết note về 1 trang cuối cùng (Chắc bác đã có và biết cách rồi). Bước 4: Bác làm chú thích như bình thường bác vẫn làm. Đó là gắn link cho nội dung và chú thích. Bỏ qua bước đánh số nhé. Cách gắn link thì cũng chỉ đơn giản là bấm replace all 2 phát mà thôi. Cách 2: Để nguyên như cuốn sách đang có và chỉ dời Chú thích về một trang cuối cùng rồi quay lại chèn link hai chiều. Cách này khác cách trên là không phải chạy lại chú thích của toàn bộ văn bản, nhưng lại rườm rà đối với học viên mới tập làm (em tạm thời chưa hướng dẫn cách này. Nếu bác có ultraview, em sẽ hướng dẫn trực tiếp trên máy bác 1 lần là bác làm được ngay và luôn.
OK Bước 3: Trước hết bác phải tạo ra một cái function (Tham khảo của inno14 nhé) Function dưới đây (bước này làm 1 lần và xài mãi mãi nhé): (Bác copy cả đoạn xanh dưới nhé.) Bác mở Calibre lên, và chọn chế độ là Regex Function. Sau khi bác bẩm vào Creat ở phía trên bác được: Bác xóa hết nội dung nó đi và copy đoạn màu xanh dưới đây dán vào chỗ mới xóa nội dung kia và đặt tên là Note Mover chẳng hạn, sau đó bấm OK: #Find: (<p>\(\*{1,}\).*?</p>|<p>\[\d+\].*?</p>|<p>\[\*\].*?</p>) def replace(match, number, file_name, metadata, dictionaries, data, functions, *args, **kwargs): f=file_name note=match.group(1)+f print(note) return '' replace.file_order = 'spine' Vậy là bác đã tạo xong Function, giờ bác chuyển nó về 1 file cuối cùng của tài liệu: Bác tạo 1 html nữa, đặt cuối cùng của cuốn sách và đặt tên file là note.html chẳng hạn. Sau đó bác chọn như trong hình: Quên mất, em có file word, em gửi luôn cái file word bác học theo nó mà làm chú thích từ đầu trở đi luôn nhé. Vậy mà em tưởng là bác đã biết làm chú thích rồi.
Làm được function, bấm thấy chạy không lỗi nhưng nó ko chuyển về file note cuối trang em tạo mà mất hết bác ạ. Không biết có liên quan gì đến file là xhtml và có 1 file nav ở cuối không? Edit: Ra là em đọc ko kỹ, phải copy clipboard thủ công. Cứ tưởng bấm phát được luôn.
Mr Inno14 có cách giải quyết một vấn đề tương tự ở đây nè mọi người: Please login or register to view links
Mình đang chuyển chú thích có dạng giống bạn nên tiện ghi lại clip, bạn xem thử. Lưu ý: Có nhiều cách để thực hiện, mỗi người mỗi kiểu Hãy để ý đến số lượng và vị trí của ghi chú. Sai 1 ly đi 1 dặm (mình toàn đi 1000 dặm ) Chốt cấu trúc code ghi chú epub3 trước khi làm. File bạn @vinaguy gửi đầy đủ công cụ để xử lý. Clip 1: Gom chú thích về 1 file html Clip 2: Xoá và làm lại chú thích
Bác kiểm tra lại xem, clip của bác ghi nó chỉ chạy được khoảng 30 giây, sau đó là nó không ghi thao tác nữa bác.
Mình thấy bạn vẫn dùng file text bên ngoài để lưu regex. Không biết có phải để mọi người dễ nhìn khi xem clip hay không? Chứ nếu regex dùng nhiều, lưu vào saved search mới tối ưu.
Y bài... ngày xưa em đã nhiều lần đi xin cái save search này của mọi người... nhưng sau đó em cảm giác rằng chỉ mình em với bác hiểu ý nhau... còn các bác khác không share cho em tẹo nào. Giờ thì em đã có một bộ regex đồ sộ của riêng mình, nên xử lý gì cứ rẹc rẹc, chả cần nhớ gì nhức đầu