×

Thông báo nâng cấp hệ thống

Hiện tại hệ thống đã chuyển đổi sang phiên bản mới hơn

Vui lòng bấm vào đây để chuyển sang phiên bản mới nhất

 Tool-Script Bộ Script Nhỏ Gọn Làm Ebook Với EmEditor

Thảo luận trong 'Ebook truyện dịch' bắt đầu bởi Big Bang, 20/9/13.

  1. lomcom

    lomcom Thành viên kích hoạt

    Được thích:
    25
    Đây là code function

    function correctChapterTitle()
    {
    // save key strokes :)
    var doc = editor.ActiveDocument;
    var sel = doc.selection;

    // Sửa lỗi tựa chương
    sel.Replace("^(?:Chuowng|Chuwowng|Chuwong|Chưong|Chuơng|Chuong|Chưởng) ?([0-9]+)", "Chương \\1", FRM_REGEXP_ALL);
    sel.Replace("^Chương([0-9])", "Chương \\1", FRM_REGEXP_ALL);
    // sửa lỗi chương không có tựa => thêm "Vô Đề"
    sel.Replace("^Chương ([0-9]+)$", "Chương \\1: Vô Đề", FRM_REGEXP_ALL);
    sel.Replace("^Chương ([0-9]+) ?[+&,-] ?([0-9]+)$", "Chương \\1-\\2: Vô Đề", FRM_REGEXP_ALL);
    sel.Replace("^Chương ([0-9]+) ?[+&,-] ?[0-9]+ ?[+&,-] ?([0-9]+)$", "Chương \\1-\\2: Vô Đề", FRM_REGEXP_ALL);
    // sửa lỗi sau số chương thiếu dấu hai chấm
    sel.Replace("^Chương ([0-9.&+, -]+)([a-zđàáảãạăằắẳẵặâầấẩẫậèéẻẽẹêềếểễệìíỉĩịòóỏõọôồốổỗộơờớởỡợùúủũụưừứửữựỳýỷỹỵ])", "Chương \\1: \\2", FRM_REGEXP_ALL);
    sel.Replace("^Chương ([0-9]+) ?[+&,-] ?([0-9]) ?[.-] ?([^0-9])", "Chương \\1-\\2: \\3", FRM_REGEXP_ALL);
    sel.Replace("^Chương ([0-9]+) ?[.-] ?([^ 0-9])", "Chương \\1: \\2", FRM_REGEXP_ALL);
    // chuẩn hóa chương gộp: Chương 12 + 13 + 14 : xxx ==> Chương 12-14: xxx
    sel.Replace("^Chương ?([0-9]+) ?[+&,-] ?[0-9]+ ?[+&,-] ?([0-9]+) ?[:.]", "Chương \\1-\\2:", FRM_REGEXP_ALL);
    // chuẩn hóa chương gộp: Chương 12 + 13 : xxx ==> Chương 12-13: xxx
    sel.Replace("^Chương ?([0-9]+) ?[+&,-] ?([0-9]+) ?[:.]", "Chương \\1-\\2:", FRM_REGEXP_ALL);
    // xóa các chương trùng
    sel.Replace("(^Chương [0-9]+.+\\r\\n)\\1", "\\1", FRM_REGEXP_ALL);
    // xóa khoảng trắng trước dấu hai chấm và hai dấu 2 chấm liền nhau (do sửa lỗi mà có)
    sel.Replace(" :", ":", FRM_DEFAULT_ALL);
    sel.Replace("::", ":", FRM_DEFAULT_ALL);
    // viết hoa tựa chương và copy vào ToC.html
    sel.Find("^Chương [0-9]+.+\\r\\n", eeFindNext | eeFindReplaceQuiet | eeFindReplaceRegExp | eeFindSelectAll);
    sel.ChangeCase(eeCaseCapitalize);
    // clear highlight
    doc.HighlightFind = false;
    }
     
  2. Big Bang

    Big Bang Thành viên kích hoạt

    Được thích:
    130
    Sửa lỗi ở hàm correctChapterTitle()
    Thêm hai dòng (chữ đỏ) ngay sau dòng sel.ChangeCase(eeCaseCapitalize);

    Mã:
    // viết hoa tựa chương và copy vào ToC.html
    sel.ChangeCase(eeCaseCapitalize);
    [b][color=red]// clear selection
    sel.Collapse();[/color][/b]
    // clear highlight
    doc.HighlightFind = false;
    
    PS: đúng là sửa rồi mà quên update, sorry. :))
     
  3. lomcom

    lomcom Thành viên kích hoạt

    Được thích:
    25
    Vậy lão update cho ta cái tạo mục lục dạng quyển và có mục chia 50 bên trong đi.

    Thêm 1 cái nữa là ta chưa biết sử dụng cái poster, lão có thể tạo file data cho poster, nó dò từng dòng trong file đó để xóa bên file srctxt được không?
     
    Chỉnh sửa cuối: 29/5/14
  4. Big Bang

    Big Bang Thành viên kích hoạt

    Được thích:
    130
    Ta đang viết lại bộ script theo hướng gọn nhẹ hơn. Mấy cái yêu cầu của lão ta sẽ làm. Hiện nay text lấy bằng tool của lão pdota khá ngon, nếu chỉ làm bằng text như vậy sẽ bớt được rất nhiều công đoạn.
     
  5. Decepticon

    Decepticon Thành viên kích hoạt

    Được thích:
    269
    Chính xác đó, tool của phdota mà hoàn thiện chức năng lọc rác thì sau này làm ebook siêu nhàn luôn.