PC [EPUB, CSS] Các mẩu Css và Saved Search

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

  1. machine

    machine Lớp 11

    Đã thử: text-align-last: center; Moon Reader vẫn không hiểu gì. Reasily hiển thị tốt.

    Kết luận: Moon Reader yếu đuối quá. Dù sao, vẫn yêu :D
     
    zodngok and tran ngoc anh like this.
  2. tran ngoc anh

    tran ngoc anh Cử nhân

    Mình xài Moon năm 2015.
    Sau đó chấm dứt :D
     
    Chỉnh sửa cuối: 26/8/21
  3. RGBCD

    RGBCD Lớp 3

    Không cần đánh dấu drop sau p đâu.
    Find: <p>drop(.)
    Nên là Find:
    </h1>(\s+)<p>(.)
    R: </h1>\1<p class"n"><span class="drop">\2</span>

    Cấu trúc này có nhược điểm là khi bật tính năng đọc thì chị Google sẽ vấp ở dropcap, ngộ lắm. :D
     
    machine thích bài này.
  4. Bọ Cạp

    Bọ Cạp Moderator Thành viên BQT

    Ảnh vector dùng Moon xem cũng bị vỡ. Nói chung chơi css vs epub3 dùng app Reasily xem là chuẩn nhất.
     
    machine and tran ngoc anh like this.
  5. tran ngoc anh

    tran ngoc anh Cử nhân

    Chỗ này đặt nhóm chưa hợp lý, nên sửa thành
    F: (</h1>\s+)
    R: \1
     
    RGBCD thích bài này.
  6. vinaguy

    vinaguy Lớp 11

    Theo em Moon vẫn đầu bảng. Các bác cứ soạn Drop các kiểu đi, em chỉ cần replace all phát là Moon hiểu ngay. Tóm lại... tất cả những gì mà Reasily hiểu và hiển thị được thì em sẽ làm cho Moon hiểu được ngay sau 15 phút. (những sách em post lên là Moon xuất đẹp hết nhóe các bác). Moon vẫn xài EPUB3 nhóe các bác.
    Nhược điểm của Moon chỉ từng này mà thôi nè: Moon chỉ lúng túng khi hiển thị khung, bóng đổ cho khung, và table mà thôi. Cái này thì em khắc phục các kiểu nhưng Moon vẫn chưa làm tốt nhiệm vụ này. Khung thì Moon không hiển thị được radius (viền vòng tròn, còn bo góc thì vẫn xuất đẹp nhé).
    Đổi lại, nhiều thứ khác cao cả hơn mọi app khác không thể có được.
    P/S: Tiện đây các bác cho em hỏi... Viết lệnh Find và Replace thì làm sao cho Calibre nó hiểu và nó loại ra được tất cả mọi thứ trong tag nè các bác? (Em dùng lệnh loại trừ các kiểu rồi, lúc Find thì find được, nhưng lúc replace lại sai)
     
  7. tran ngoc anh

    tran ngoc anh Cử nhân

    Đồng ý vì số đông đã chọn thì không cãi được :D

    Chắc hỗ trợ theo trend thôi ^^

    Từng này cũng hơi nhiều haha mà ít phần mềm bị vướng mấy chỗ này lắm, Moon hơi khác biệt với số đông nên được thích nhiều :D

    Cụ thể câu lệnh như nào bạn?
     
  8. vinaguy

    vinaguy Lớp 11

    Ví dụ như này bác:
    Em muốn sửa lỗi dấu câu dính nhau:
    <p>Hãy nhớ rằng, định dạng này chỉ sử dụng cho những cuốn sách được viết trong iBooks Author.Nếu bạn mua những cuốn</p>
    Viết find: (\p{L})([\.\!\?\,\;\:\)\…])(\p{L})
    Đối với các dấu khác thì không vấn đề gì. Nhưng đối với dấu chấm (.) thì có chuyện vì dấu chấm nằm trong cả link (Ví dụ: <html xmlns="Vui lòng đăng nhập hoặc đăng ký để xem link"> hoặc <link type="text/css" rel="stylesheet" href="OEBPS/Styles/Style01.css"/> hoặc <a id="b1" href="note.xhtml#n1" epub_type="noteref">*</a> vân vân... nên em muốn Calibre nó khôn ngoan mà loại trừ các dấu châm (.) trong các trường hợp như thế này đừng có replace vào đó sẽ hỏng link, hỏng luôn cả cuốn sách.
    Bác ngâm cứu thử xem có câu lệnh loại trừ nào được không?
    Em mới sáng tác được câu này: Nhưng nó vẫn không loại ra được hết:>([^<>])(.*?)(\p{L})([\.\!\?\,\;\:\)\…])(\p{L})(.*?)<
    Vẫn kẹt phải trường hợp tag <a....>...</a>
     
    machine thích bài này.
  9. tran ngoc anh

    tran ngoc anh Cử nhân

    Vì lệnh bạn viết thiếu nên chế độ nhận diện in hoa nó không hoạt động.

    Bạn sửa thành \p{Lu} (in hoa) cho phía sau dấu câu, \p{Ll} (in thường) cho liền trước dấu câu và bật Case là ổn. Hứa luôn.
     
    vinaguy thích bài này.
  10. tran ngoc anh

    tran ngoc anh Cử nhân

    Lưu ý quan trọng về các loại property khác class khi quy định cho Css:

    + Nếu là class thì ta chỉ việc định nghĩa trong css bằng một dấu chấm ví dụ <div class="head"> thì trong css sẽ là:
    div.head {}
    + Vậy các loại khác class thì sao, như những <p align="center">, <ol type="1">, <ol type="I">, <ol type="A">... vẫn có thể định nghĩa được các phần tử này trong css theo thứ tự như sau:
    - p[align="center"] {}
    - ol[type="1"] {}
    - ol[type="I"] {}
    - ...​
     
    machine and vinaguy like this.
  11. vinaguy

    vinaguy Lớp 11

    Bác đừng hứa em bác ơi... :) Hứa em là bác không biết đền gì cho em đâu đấy. Chỗ này bác hiểu trật ý em rồi. Hoa thường em chưa quan tâm... Em chỉ quan tâm chuyện các dấu dính vào nhau, giờ em muốn tách dấu ra cơ. Đây là lý do tại sao em chỉ để \p{L} là để tìm 1 chữ cái bất kể hoa thường lẽ ra em phải để \w thì phổ tìm kiếm lại rộng hơn, bao được hết mọi trường hợp. Để em tiếp tục ngâm cứu vấn đề này.
     
  12. tran ngoc anh

    tran ngoc anh Cử nhân

    Vậy cái này đủ đền chưa bác nhỉ haha

    [​IMG]
     
    Chỉnh sửa cuối: 26/8/21
  13. tran ngoc anh

    tran ngoc anh Cử nhân

    Bạn chú ý nhé, các link này đều chung nhất sau dấu câu là in thường, cho nên trong câu lệnh bạn chỉ cần \p{Lu} ở sau phần lệnh dấu câu để loại bỏ những trường hợp in thường ra là đâu vào đấy ngay.
     
    vinaguy thích bài này.
  14. machine

    machine Lớp 11

    Cái này khó nha.
    Ví dụ như 2 mẩu mà bạn tran ngoc anh viết buổi trưa đó:
    p:first-letter
    text-align-last: center;
    Moon Reader không hiển thị được trong khi Reasily hiển thị tốt.
     
    vinaguy and tran ngoc anh like this.
  15. vinaguy

    vinaguy Lớp 11

    Chưa trúng ý em bác ơi... em đang tìm cách viết lệnh cho tất cả các dấu (không riêng gì dấu chấm (.) Nên em không quan tâm nó là hoa hay thường ví dụ: bla bla bla.bla bla (sách cũ gặp thường xuyên) giờ tách nó ra. Làm thành 2 lệnh chạy 2 lần thì không phải bàn nữa bác nhé. Thế mới căng chứ.
    Dễ lắm bác. Cứ replace all 2 phát là xong. Trả được hết về dạng Moon hiển thị được. Cái tên viết ra Moon nó chưa chịu cập nhật cái core đọc html lên core mới chứ không thì Moon không còn gì để mà chê nữa. Em ý kiến với nó rồi... mà nó cứ bảo để nó nghiên cứu mà chưa rục rịch gì.
     
  16. tran ngoc anh

    tran ngoc anh Cử nhân

    Bác test cái vụ \p{Lu} chưa nhỉ? Ít nhất nó cũng tách được các câu dính nhau và loại bỏ các trường hợp link rồi mà.

    Chia việc ra để làm chứ hehe
     
  17. tran ngoc anh

    tran ngoc anh Cử nhân

    Bác có sửa hết 1600 cuốn để chiều lòng Moon được không? :D

    Ví dụ em có 1600 cuốn đời mới, toàn div.head p:first-letter {} với text-align-last: center; cả. Nếu là em em sẽ chọn Reasily để đọc ngay và luôn 1600 cuốn đó, chỉ cần Ibook trên Ipad thôi đã đủ phê rồi chẳng cần Reasily haha.

    Mà bác dùng Moon lâu thì chắc nó phải có gì níu kéo, bác nêu ra thử, có khi rủ rê được thêm một tín đồ òi sao :D
     
  18. tran ngoc anh

    tran ngoc anh Cử nhân

    Vừa nhớ ra function có vụ '''Make matched text upper case, ignoring the text inside tag definitions.''' bỏ qua các tag hay link đó bác @vinaguy

    Function em chưa dám rờ tới, bác nghiên cứu hướng function đi.
     
  19. vinaguy

    vinaguy Lớp 11

    Rồi chứ bác. Không những test mà em còn làm rồi, trước giờ em vẫn phải dùng nó mà. Nhưng giờ tự nhiên thấy cái Save Searches của bác share đó, thấy nó rườm rà quá, nên em muốn gom nó vào một chỗ kết hợp cả của em và của bác vào, và nó chưa biết khai như thế nào cho Calibre nó chịu.
    Em cứ xem đến cuốn nào là em sửa cuốn đó. Chứ mỗi khi rớ đến một cuốn nào đó thì kiểu gì chả phải sửa chính tả hay là abcd gì gì đó bác.
    Cái này bác cài bản Moon Pro mới nhất (6.9) vào vọc nó tí là biết ngay mà bác. Tùy biến của nó cả rừng trời luôn chứ không phải như các app khác. Em thích nhất là popup chú thích của nhà nó, kiểu gì cũng popup chứ không như mấy tay kia. Điều thứ 2 Moon làm tốt nữa là Text to speech (Moon có chỗ cho bác dạy nó đọc, nên nó đọc tốt lắm (dùng giọng đọc để soát lỗi chính tả thì khỏi phải bàn nữa bác ạ). Bác thấy mấy cuốn em soát lỗi gần như sạch tinh tươm, chấm phẩy ra trò luôn do em dùng giọng đọc đấy bác - đương nhiên cuốn nào em đọc hết mới sửa triệt để được cả cuốn nhóe bác :))
    Mấy nay em vọc Ca này rồi bác ưi... nhưng vẫn chưa hiểu hết ngôn ngữ Python nên không viết chuẩn 1 phát ăn ngay được. Nhưng... giữa Regex và Regex-Function là tương đương nhau bác ạ. Regex-function chỉ khác là lưu search n replace dưới dạng tự chạy cho người chưa biết gì vẫn xài được mà thôi. Còn anh em bọn mình thì có cái save search rồi, với cả bọn mình tự viết câu lệnh được nên Regex vẫn cứ xài ok bác.
     
  20. vinaguy

    vinaguy Lớp 11

    Xin lỗi 2 bác... Qua giờ cứ lo xử lý rắc rối của em với bác @tran ngoc anh, nên quên mất không trả lời 2 ý kiến của hai bác. Em cho các bác câu lệnh "ĐẬP PHÁT CHẾT NGAY" này nè. Các bác chỉ cần REPLACE ALL là được... (Cứ mạnh dạn mà bấm nút nhé, em đã kiểm tra kỹ càng rồi nhé). Đây là câu lệnh được cải tiến từ câu lệnh của bác @inno14.
    Mời các bác tham khảo:
    FIND: (<h.*?>.*?</h.*?>\s*)(<p.*?>)(\p{L}|[\" \“]\p{L}|\- \p{L}|\d)(.*?</p>)
    REPLACE: \1<p class="noindent"><span class="drop">\3</span>\4
    REGEX
    Chú ý:
    Nhớ khai báo trong css là:
    .noindent, h1 + p, h2 + p, h3 + p {
    text-indent: 0;
    }
    Drop thì tùy các bác thích khai báo như thế nào thì khai. Của em là:
    .drop {
    color: blue;
    float: left;
    font-family: "UTM Cabaret";
    text-shadow: 4px 4px 4px #9f9f9f;
    font-size: 3em;
    margin: -0.3em 0 -0.4em 0;
    }
    @font-face {
    font-family: UTM Cabaret;
    font-style: normal;
    src: url(../Fonts/UTM_Cabaret.ttf);
    }
    Câu: text-shadow: 4px 4px 4px #9f9f9f; là làm cho chữ đổ bóng mờ lồi lên khỏi trang giấy (Trong mấy cuốn sách của em post gần đây đều có)
     
    RGBCD and inno14 like this.

Chia sẻ trang này