Thành viên:P.T.Đ/SimpleUpdate

Hệ thống Lập lịch cập nhậtSửa đổi

Wikipedia:Lập lịchSửa đổi

Wikipedia:Đầu bàiSửa đổi

Hiển thị ở Trang ChínhSửa đổi

Hiển thị ở trang lưu trữ theo nămSửa đổi

Hiển thị ở trang lưu trữ theo thángSửa đổi

Hiển thị ở trang lưu trữ theo tuầnSửa đổi

KhácSửa đổi

  • /Đọc tiếp
  • Mô đun:Đọc tiếp
  • /Bài của tuần: Trả về đầu bài phù hợp với số thứ tự của tuần. Nếu thứ của ngày 1/1 là thứ 2, 3, 4, 5 thì ngày đó cũng nằm trong tuần đầu tiên của năm; còn nếu là thứ 6, 7, CN thì không nằm trong tuần đầu tiên của năm, ngày đầu tiên của tuần đầu tiên của năm trong trường hợp này tương ứng là 4/1, 3/1, 2/1.

Hệ thống hiển thị HACL theo thángSửa đổi

Hệ thống Danh mục độngSửa đổi

Bản mẫu thông báo trạng thái biểu quyết, đề cửSửa đổi

  • /Đặc tả của Bản mẫu:Status
  • Bản mẫu:Status
    • Chuyển sang dạng module để xử lý trường hợp Biểu quyết xóa bài, Gia hạn biểu quyết
    • Logic chung cho 2 trường hợp (chỉ có mốc tối đa và vừa có mốc tối đa và tối thiểu):
      • IF: Nếu mốc hiện tại > mốc tối đa thì hiển thị [Hạn là (mốc tối đa). Đã hết hạn.]
      • ELSE: Nếu mốc hiện tại <= mốc tối đa thì xét:
        • IF: Nếu có tham số thời hạn tối thiểu:
          • IF: Nếu mốc hiện tại > mốc tối thiểu thì hiển thị [Đã hết hạn tối thiểu. Hạn tối đa là (mốc tối đa). Còn (đếm ngược) ngày nữa đến hạn tối đa.]
          • ELSE: Nếu mốc hiện tại <= mốc tối thiểu thì hiển thị [Hạn tối thiểu là (mốc tối thiểu). Còn (đếm ngược) ngày nữa đến hạn tối thiểu. Hạn tối đa là (mốc tối đa). Còn (đếm ngược) ngày nữa đến hạn tối đa.]
        • ELSE: Nếu không có tham số thời hạn tối thiểu thì hiển thị: [Hạn là (mốc tối đa). Còn (đếm ngược) ngày nữa đến hạn.]
  • Bản mẫu:P.T.Đ/Status/styles.css
  • /Status
  • /FirstRevision
  • Thành viên:P.T.Đ/Nháp 6

KhácSửa đổi

Cú phápSửa đổi

https://vi.wikipedia.org/w/index.php?title=Wikipedia:%E1%BB%A8ng_c%E1%BB%AD_vi%C3%AAn_b%C3%A0i_vi%E1%BA%BFt_t%E1%BB%91t/P.T.%C4%90/Nh%C3%A1p_6&action=edit&editintro=B%E1%BA%A3n+m%E1%BA%ABu%3AH%C6%B0%E1%BB%9Bng+d%E1%BA%ABn+%C4%91%E1%BB%81+c%E1%BB%AD+b%C3%A0i+vi%E1%BA%BFt+t%E1%BB%91t&preload=B%E1%BA%A3n+m%E1%BA%ABu%3AM%E1%BA%ABu+%C4%91%E1%BB%81+c%E1%BB%AD+b%C3%A0i+vi%E1%BA%BFt+t%E1%BB%91t+2
[{{fullurl:Wikipedia:Ứng cử viên bài viết tốt/{{{1|{{PAGENAME}}}}}|action=edit&editintro={{urlencode:Bản mẫu:Hướng dẫn đề cử bài viết tốt}}&preload={{urlencode:Bản mẫu:Mẫu đề cử bài viết tốt 2}}}} <span title="Nhấn chuột vào đây để tiếp tục việc đề cử. Bạn sẽ nhận được các hướng dẫn tiếp theo.">'''''một lời nhận xét từ bạn.'''''</span>]
Mã autoclick nút Save của JWBSửa đổi
Category: Bài có giá trị chuyển đổi không chính xác
Sumary: Sửa lỗi [[Thể loại:Bài có giá trị chuyển đổi không chính xác|Chuyển đổi số không hợp lệ]].
Replace: ({{\s*(convert|cvt)\s*\|[^\.\|]*)(\.)([^\.\|]*\|)
With: $1,$4
Replace: ({{\s*convert\s*\|[^\.\|]*)(\.)([^\.\|]*)(\.)([^\.\|]*\|)
With: $1,$3,$5
Replace: ({{\s*convert\s*\|[^\.\|]*)(\.)([^\.\|]*)(\.)([^\.\|]*)(\.)([^\.\|]*\|)
With: $1,$3,$5,$7
// Chembox, Infobox Australian Place...
Replace: (\|\s*\b(molarmass|elevation[a-z_]*|urban_pop_[a-z0-9]+|rural_pop_[a-z0-9]+|length\sm|span\sm|wing\sarea\ssqm|g_dist|dist_err|area[a-z_]+imperial|population_density[a-z_]*|height[_m]*|chiều\scao|area|density|meltingptc|melting_point|boilingptc|logp|deltahf|deltahc|entropy|viscosity|heatcapacity|refractindex|magsus)\b[^\.\|]*)(\.)([^\.\|\n\<]*)
With: $1,$4
Replace: ({{\s*(height|chiều\scao)\s*\|[^\.]*)(\.)([^\.\|\}]*(\}|\|))
With: $1,$4
Replace: ({{\s*convert\s*\|[^\.\|]*\|(\-|\–|to)\|[^\.\|]*)(\.)([^\.\|]*\|)
With: $1,$4
Replace: ({{\s*convert\s*\|[^\.]*\|by\|[^\.\|]*)(\.)([^\.]*)(\.)([^\.\|]*\|)
With: $1,$3,$5
Flag: ig

Infobox military conflictSửa đổi

{{#invoke: ParameterAliasNormalizer | main
| __template = Thông tin chiến tranh/main

Các công việcSửa đổi

  1. Wikipedia:Chế độ tối → Themer
  2. Bản mẫu:Status
  3. Wikipedia:Danh mục động
  4. Cải tiến hệ thống lập lịch và lưu trữ các thành phần Trang Chính
  5. Trang Chính mới (Wiki2021)
  6. Công cụ kiểm tra tính hợp quy của lá phiếu biểu quyết, đề cử → Voter
  7. Nghiên cứu JWB, xây dựng trang giới thiệu Wikipedia:JavaScript Wiki Browser
  8. Nghiên cứu Tagger, Twinkle và RedWarn → Faster (/Đặc tả của Faster)
  9. Công cụ sửa nhanh nội dung bài ở trang diff → Differ
  10. Công cụ hoàn thành nhanh thủ tục đóng đề cử → Closer
  11. Bản mẫu Định dạng phân cấp thảo luận (frwiki)

Ưu tiênSửa đổi

  1. Cải tiến hệ thống lập lịch và lưu trữ các thành phần Trang Chính
  2. Trang Chính mới (Wiki2021)
  • Xây dựng dần: 25/12 → 24/1
  • Dứt điểm: 27/1 → 31/1

KhácSửa đổi

  1. Wikipedia:Thời báo Wikipedia
  2. Wikipedia:Best Leader of DYK 2020: Nghiên cứu quy trình, tiện ích để thống kê dễ dàng và chính xác hơn.
    • Một gadget có 3 chức năng chính. → DYKHelper
    • Một là quét từng bản tin BCB để gửi thông báo và tặng đồng tiền tự động cho các thành viên.
    • Hai là quét toàn bộ bản tin của một tuần để lưu trữ dữ liệu BCB trong tuần, sinh trang dữ liệu BCB theo tuần.
    • Ba là quét toàn bộ các trang dữ liệu BCB theo tuần để lưu trữ dữ liệu BCB của năm.
    • Trang chủ Best Leader of DYK sẽ dùng module Lua để trích dữ liệu từ trang dữ liệu BCB của năm để hiển thị thông tin.
    • Các bản mẫu đồng tiền sẽ dùng module Lua để trích dữ liệu từ trang dữ liệu BCB của năm để có được thứ tự bài BCB của tác giả trong năm.
      wikitext → JSON (qua JS) → wikitext (qua Lua module)

Linh tinhSửa đổi

Từ dò sửa đổi có thể có hại: hẹo, đông lào, iiiii (5 chữ i)...

SortSửa đổi

Cần đệ quy để sort chính xác hơn.

Ý tưởng Đoạn tuần (Week Fragment) cho Hệ thống Lập lịch – Đầu bàiSửa đổi

  • Ý tưởng cũ: Ánh xạ số thứ tự ngày của năm với tên bài. Nhược điểm là không tốt về mặt giao diện và không linh hoạt trong quá trình tăng tần suất.
  • Ý tưởng mới: Ánh xạ số thứ tự tuần của năm với mảng tên bài có chỉ thị (directive) quy hoạch tần suất.

Chỉ thị quy hoạch tần suất là một chỉ thị nhằm ánh xạ số ngày xuất hiện trong tuần với phần tử tên bài trong mảng.

Số lượng con số thể hiện số ngày xuất hiện trong tuần == Số lượng phần tử tên bài trong mảng

Ví dụ:

Testcases
Tần suất Chỉ thị ví dụ Cách viết thay thế Mảng tên bài Số ngày xuất hiện trong tuần
1 bài/tuần @7 A 7
2 bài/tuần @3-4 A

B

3

4

@4-3 A

B

4

3

3 bài/tuần @2-2-3 @2{2}-3 A

B

C

2

2

3

@3-3-1 @3{2}-1 A

B

C

3

3

1

4 bài/tuần @2-2-2-1 @2{3}-1 A

B

C

D

2

2

2

1

5 bài/tuần @2-2-1-1-1 @2{2}-1{3} A

B

C

D

E

2

2

1

1

1

6 bài/tuần @2-1-1-1-1-1 @2-1{5} A

B

C

D

E

F

2

1

1

1

1

1

7 bài/tuần @1-1-1-1-1-1-1 @1{7} A

B

C

D

E

F

G

1

1

1

1

1

1

1

Dạng tổng quát của chỉ thị: @a[-b[-...n]] với tổng a + b + ... + n = 71 <= n <= 7

Implementations:

Dự đoán quy trình hoạt độngSửa đổi

  1. Bản mẫu:Wiki2021/Bài viết chọn lọc gọi bản mẫu {{Wikipedia:Đầu bài Bài viết chọn lọc/<T>}} với T là tên bài.
  2. T được lấy bằng cách gọi {{#invoke:TitleFromArray|main|<A>|<D>}}, trong đó:
    • A là mảng gồm các tên bài và chỉ thị quy hoạch tần suất.
    • D là số thứ tự của ngày trong tuần (number of the day of the week) ở thời điểm hiện tại, được xác định tự động.
  3. A được lấy bằng cách gọi {{Wikipedia:Lập lịch Bài viết chọn lọc/<Y>|<W>}} với W là số thứ tự tuần của năm ở thời điểm hiện tại và Y là năm hiện tại; W và Y được xác định tự động.

→ Xuất được kết quả là Nội dung đầu bài tương ứng với thời điểm hiện tại.

Giải pháp tốt hơnSửa đổi

Thiết lập chỉ thị chung, không lập chỉ thị riêng. Mục đích là giảm lặp mã, giảm rủi ro.

Mã ví dụ:

{{#switch: {{{1}}}
| @ = [1-n]@7
| 1 =
* Chiến tranh Kim–Tống
| 2 =
* Schutzstaffel # ''Schutzstaffel''
| 3 =
* Song lang (phim) # ''Song lang''
| 4 =
* Thú mỏ vịt
| 5 =
* Hồi hải mã
...
| 52 =
* Chiến tranh Kim–Tống
}}

@ là khóa chứa chỉ thị chung cho tất cả tuần của năm, một số ví dụ về giá trị của @:

  • Áp dụng cho tuần 1 đến tuần cuối: [1-n]@7
  • Áp dụng cho 2 giai đoạn của năm (chuyển từ 1 bài/tuần thành 2 bài/tuần): [1-20]@7 + [21-n]@3-4

Danh sách tên bài luôn có dấu * trước tên bài và đặt ở đầu dòng.

Dark ThemeSửa đổi

Triển khai thông qua Stylebot. (stylebot_backup.json)

Regex tiêu đề cấp 2 Thảo luận chungSửa đổi

^==[^=]+==

ThemeConsoleSửa đổi

Tự động chuyển dark-theme theo khoảng thời gian cho trước.

Độ tương phản sau hiệu chỉnhSửa đổi

  • Màu chữ: #D2D3D4
  • Màu nền: #222222
  • Độ tương phản: 10.61:1 (WCAG AA, WCAG AAA)

Triển khaiSửa đổi

SnippetSửa đổi

new mw.Api().saveOption('gadget-dark-mode', inDarkMode ? '0' : '1').then(function() { 
            location.reload(); 
        });
// Kiểm tra trang có tồn tại hay không
new mw.Api().get({
    action: "query",
    titles: ["Thành viên:P.T.Đ/vector.css"],
}).then(function (ret) {
    $.each(ret.query.pages, function () {
        if (this.missing !== "") {
            console.log('Exist')
        } else {
            console.log('Not exist')
        }
    });
}, function (error) {
    console.log('Not exist')
});

// Lấy nội dung trang
var api = new mw.Api();
api.get({
    action: 'query',
    prop: 'revisions',
    titles: 'Thành viên:P.T.Đ/common.css',
    rvslots: 'main',
    rvprop: 'content',
    formatversion: '2',
    format: 'json'
}).done(function (data) {
    console.log(data.query.pages[0].revisions[0].slots.main.content);
});

// Sửa nội dung trang
var params = {
    action: 'edit',
    title: 'Thành viên:P.T.Đ/common.css',
    prependtext: '@import url("https://vi.wikipedia.org/w/index.php?title=Th%C3%A0nh_vi%C3%AAn:P.T.%C4%90/pink-theme.css&action=raw&ctype=text/css");',
    format: 'json'
},
    api = new mw.Api();

api.postWithToken('csrf', params).done(function (data) {
    console.log(data);
});

Vấn đề quy trình của Bản mẫu:Chất lượng kémSửa đổi

Quy trình hiện tại: Gắn bản clk -> Tạo thể loại clk trong thể loại clk ngày tương ứng -> Đợi hơn 7 ngày sau quay lại -> Xóa bài -> Xóa thể loại clk theo ngày

Xóa các trang chào mừng IP của TuanminhBotSửa đổi

Dark Mode và {{AN5}}Sửa đổi

  • AN5 bổ sung class=unfilter cho các hình
  • Thêm vào dark-mode.css: .unfilter { filter: invert(0) !important }

  Xong