Okie. Đạt. Hy vọng là sẽ có được một giải pháp slug nhẹ nhàng, phù hợp cho Discourse.
Vietnamese slug cho Discourse
@thangngoc89, cái code đầu tiên bạn đưa ra ở trên của bạn cũng có thể apply cho DC local được rồi đấy, không nhất thiết phải PR để đưa vào core.
#For Vietnamese slug
vietnamese = "àáạảãâầấậẩẫăằắặẳẵèéẹẻẽêềếệểễìíịỉĩòóọỏõôồốộổỗơờớợởỡùúụủũưừứựửữỳýỵỷỹđÀÁẠẢÃÂẦẤẬẨẪĂẰẮẶẲẴÈÉẸẺẼÊỀẾỆỂỄÌÍỊỈĨÒÓỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÙÚỤỦŨƯỪỨỰỬỮỲÝỴỶỸĐêùà"
replacements = "aaaaaaaaaaaaaaaaaeeeeeeeeeeeiiiiiooooooooooooooooouuuuuuuuuuuyyyyydAAAAAAAAAAAAAAAAAEEEEEEEEEEEIIIIIOOOOOOOOOOOOOOOOOUUUUUUUUUUUYYYYYDeua"
string = string.tr(vietnamese, replacements)
#End Vietnamese slug
còn nếu muốn vào core thì phải làm như post trên:
Trước hết mình phải pull request cho stringex vi trước, Tuy nhiên cái commit cho stringex vi này chưa được ổn
Nice, Đạt sẽ install cái này vào, nếu có bug thì Đạt sẽ report
P/S: Đã install rồi nhé @thangngoc89, chạy rất tốt
Còn 1 lỗi mà làm biếng chưa bao giờ làm đó là hỗ trợ unicode tổ hợp (combine unicode)
Ví dụ topic: Hỏi vui: Mọi người hay gọi hai ký tự này là gì: '/' '\'
oh, unicode tổ hợp nó có ký tự khác hả? Vậy còn có unicode nào nữa không?
Chỉ đơn giản là quăng 1 bộ kí tự unicode và là xong
Cái topic kia bị thế có thể là do em dùng bàn phím swype trên android nên nó k giống bình thường
Như @thangngoc89 nói thì unicode tổ hợp bị lỗi. Rất có thể swype cũng sử dụng unicode tổ hợp. Cái này fix cũng dễ thôi. Có điều lười
Để sang Sing mà thấy không có ai làm thì Đạt commit cho bộ unicode tổ hợp.
Cái này đúng nghĩa là lười. Mà cái này để vào nó nặng. Vì lỗi lần tạo slug lại loop 1 vòng qua mấy cái char đó
Ừ, giải pháp cho thể loại này có cách nào hay hơn không? Hiện giờ slug chỉ áp dụng cho tạo tạo topic và edit title thôi hả @thangngoc89
Em vẫn đang tìm giải pháp hay hơn. Mà coi ở mấy cái package nổi tiếng thì hình như chỉ có cách này thôi . Còn Discourse thì nó chỉ áp dụng slug cho việc này
Hiện giờ sao mình reply post mới, thời gian save lâu vậy nhỉ? Không biết nó có kiểm tra lại slug không?
@ltd anh thử check lại log … các thể loại xem. Hình như là chỉ có edit title nó mới đổi slug thì phải. Với lại với 1 task đơn giản như string replace thì ko thể nào ảnh hưởng lớn được (vagrant em chạy được > 1000 lần 1 giây)
Ừ, chắc là thời gian save một reply không liên quan đến slug. Vì nếu nó check lại slug là bug rồi còn gì Nhưng đúng là save dạo này hơi lâu. Tầm 2-3s cho một lần save.
@ltd Surprise !!!
Không còn những cái username ma chê quỷ hờn thế này nữa.
Sử dụng cùng phương pháp của tạo slug cho topic title nên những hạn chế của tạo slug được áp dụng cho gợi ý username.
#How to install
Update my slug plugin
#TODO
Refactor (move slug vietnamese sanitizer into a module)
Hay, để update liền
xong, vừa update vừa comment lag dã man.
Nâng cấp vps là vừa rồi đó a