Thành viên:Plantaest/SimpleUpdate

Hệ thống Lập lịch cập nhật sửa

Wikipedia:Lập lịch sửa

Wikipedia:Đầu bài sửa

Hiển thị ở Trang Chính sửa

Hiển thị ở trang lưu trữ theo năm sửa

Hiển thị ở trang lưu trữ theo tháng sửa

Hiển thị ở trang lưu trữ theo tuần sửa

Khác sửa

  • /Đọ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áng sửa

Hệ thống Danh mục động sửa

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

  • /Đặ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.]
  • Thành viên:Plantaest/Status/styles.css
  • /Status
  • /FirstRevision
  • Thành viên:P.T.Đ/Nháp 6

Khác sửa

Cú pháp sửa

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 JWB sửa
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 conflict sửa

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

Các công việc sửa

  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ên sửa

  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ác sửa

  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 tinh sửa

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

Sort sửa

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ài sửa

  • Ý 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 động sửa

  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ơn sửa

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 Theme sửa

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

Regex tiêu đề cấp 2 Thảo luận chung sửa

^==[^=]+==

ThemeConsole sửa

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

Độ tương phản sau hiệu chỉnh sửa

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

Triển khai sửa

Snippet sửa

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ém sửa

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 TuanminhBot sửa

Dark Mode và {{AN5}} sửa

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

  Xong

AfDRedSign sửa

Đánh dấu đỏ các chữ ký của thành viên không thỏa mãn điều kiện cho phiếu của khu vực BQXB.

Twinkle sửa

Linh tinh sửa

Archive sửa