Bước tới nội dung

Thành viên:Plantaest/SimpleUpdate

Bách khoa toàn thư mở Wikipedia

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

[sửa | sửa mã nguồn]

Wikipedia:Lập lịch

[sửa | sửa mã nguồn]

Wikipedia:Đầu bài

[sửa | sửa mã nguồn]

Hiển thị ở Trang Chính

[sửa | sửa mã nguồn]

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

[sửa | sửa mã nguồn]

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

[sửa | sửa mã nguồn]

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

[sửa | sửa mã nguồn]
  • /Đọ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 | sửa mã nguồn]

Hệ thống Danh mục động

[sửa | sửa mã nguồn]

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

[sửa | sửa mã nguồn]
  • /Đặ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
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 | sửa mã nguồn]
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 | sửa mã nguồn]
{{#invoke: ParameterAliasNormalizer | main
| __template = Thông tin chiến tranh/main

Các công việc

[sửa | sửa mã nguồn]
  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)
  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
  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)

Từ dò sửa đổi có thể có hại: hẹo, đông lào, iiiii (5 chữ 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ài

[sửa | sửa mã nguồn]
  • Ý 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 | sửa mã nguồn]
  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 | sửa mã nguồn]

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 | sửa mã nguồn]

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

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

[sửa | sửa mã nguồn]

^==[^=]+==

ThemeConsole

[sửa | sửa mã nguồn]

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 | sửa mã nguồn]
  • 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 | sửa mã nguồn]
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);
});

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 | sửa mã nguồn]

Dark Mode và {{AN5}}

[sửa | sửa mã nguồn]
  • 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 | sửa mã nguồn]

Đá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.

Tồn đọng

[sửa | sửa mã nguồn]