Vietnamese slug cho Discourse

Okie. Đạt. Hy vọng là sẽ có được một giải pháp slug nhẹ nhàng, phù hợp cho Discourse.

1 Like

@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

1 Like

Okie @ltd mình đang áp dụng nó cho local mà.

1 Like

@ltd Không có gì mới, chỉ gom nó vào 1 plugin thôi :smile:

1 Like

Nice, Đạt sẽ install cái này vào, nếu có bug thì Đạt sẽ report :smiley:

P/S: Đã install rồi nhé @thangngoc89, chạy rất tốt :+1:

1 Like

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ì: '/' '\'

:expressionless: 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 :smiley:

1 Like

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

1 Like

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 :smiley:

Để sang Sing mà thấy không có ai làm thì Đạt commit cho bộ unicode tổ hợp.

1 Like

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 đó

1 Like

Ừ, 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 :smiley: . Còn Discourse thì nó chỉ áp dụng slug cho việc này

1 Like

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 :slight_smile: (vagrant em chạy được > 1000 lần 1 giây)

1 Like

Ừ, 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ì :smiley: 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)

1 Like

Hay, để update liền :slight_smile:


xong, vừa update vừa comment lag dã man.

1 Like

Nâng cấp vps là vừa rồi đó a

1 Like

Hiện tại bạn đang sài cái nào vậy @ltd ơi, mình có sài cái này mà vẫn lỗi một vài chỗ.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?