Wikipedia:Thảo luận/Đề xuất tinh giản trang JS toàn wiki
- Thảo luận sau đã được đóng lại. Xin đừng sửa chữa nó. Mọi ý kiến tiếp theo nên được viết trong các trang thảo luận phù hợp. Đừng thực hiện thêm bất kỳ thay đổi nào trong cuộc thảo luận này.
Chào mọi người. Như mọi người đã biết, MediaWiki:Common.js là một trang JS toàn wiki, được tải tự động và vô điều kiện cho mọi người truy cập Wikipedia, bao gồm cả thành viên đã đăng nhập và thành viên chưa đăng nhập (người dùng vô danh). Nhận thấy việc trang này đang khá dài với 527 dòng mã, tôi xin đưa ra một số đề xuất nhằm tinh giản trang này và giúp (phần nào) tăng hiệu năng truy cập trang Wikipedia tiếng Việt. Thảo luận này sẽ diễn ra trong ít nhất 14 ngày, và các bạn đều có thể đưa ra phiếu đồng ý, phản đối hoặc ý kiến cho từng đề xuất, hoặc có thể thảo luận thêm về một số đề xuất có liên quan khác tại mục #Ý kiến khác. Phạm Ngọc Phương Linh ♥
(T • C • CA • L • B • UR) 12:25, ngày 18 tháng 4 năm 2024 (UTC)
Đề xuất 1: Bảng thông báo chỗ thử
sửaBảng giới thiệu chỗ thử
|
---|
/**
* Gắn bảng giới thiệu vào đầu [[Trợ giúp:Chỗ thử]].
*/
mw.hook("wikipage.content").add(function () {
if (mw.config.get("wgPageName") != "Trợ_giúp:Chỗ_thử" ||
mw.config.get("wgAction") != "view" || $("#sandbox-intro").length) {
return;
}
var purgeLink = mw.html.element("a", {
href: mw.util.getUrl("Trợ_giúp:Chỗ_thử", {
action: "edit",
oldid: "15257082",
summary: "Tẩy trống chỗ thử",
minor: "yes"
})
}, "xóa định kỳ");
var editText = mw.html.element("b", {
"style": "white-space: nowrap;"
}, $("#ca-ve-edit").text());
var intro = $(mw.html.element("div", {
"class": "plainlinks toccolours",
id: "sandbox-intro"
}, new mw.html.Raw("Đây là trang bạn có thể thử thoải mái cách soạn bài " +
"trong Wikipedia. Nội dung ở đây sẽ bị " + purgeLink +
". Để bắt đầu sửa đổi trang này, hãy nhấn chuột vào thẻ " +
editText + " ở trên.")));
$("#mw-content-text").wrapInner("<div class='sandbox'></div>").prepend(intro);
});
|
- Giới thiệu: Đây là đoạn mã giúp gắn bảng giới thiệu vào trang chỗ thử khi sửa đổi.
- Vị trí: Từ dòng #L-428 đến #L-455.
- Đề xuất: Xóa bỏ đoạn mã này và thay bằng một bản mẫu kèm một thông báo sửa đổi (đã có rồi).
- Ghi chú: Bot SongVĩ.Bot cần cập nhật lại số diff (hoặc nội dung tẩy trống) để tẩy trống chỗ thử.
Đề xuất 2: Biểu tượng đầu trang
sửaBiểu tượng trên cùng góc phải
|
---|
/**
* Biểu tượng trên cùng góc phải.
*
* @source: //www.mediawiki.org/wiki/Snippets/Top_icons
* @rev: 2
*/
mw.hook("wikipage.content").add(function () {
$( '.right-uppermost' ).prependTo( '#firstHeading' ).show();
});
|
- Giới thiệu: Đoạn mã này thêm biểu tượng vào trên cùng góc phải trang.
- Vị trí: Dòng #L-386 - #L-394.
- Đề xuất: Xóa bỏ đoạn mã này vì Biểu tượng đầu trang (dạng snippet JavaScript) chỉ dùng cho MediaWiki 1.25 về trước (phiên bản hiện tại là 1.42.0-wmf.26 (8f44039)) và do đó nó đã lỗi thời. Tính năng thay thế là chỉ báo trạng thái trang. Đây là tính năng đang được dùng trong các bản mẫu gắn sao BVT, BVCL, DSCL, v.v.
Đề xuất 3: Thông báo sửa các trang định hướng và TSNDS
sửaThông báo sửa đổi ma thuật
|
---|
/**
* Thông báo sửa đổi ma thuật ****************************************************
*
* Mô tả: Thêm thông báo sửa đổi cho trang định hướng và TSNDS.
* Bảo trì: [[:en:User:RockMFR]]
*/
function addEditIntro( name ) {
$( '.mw-editsection, #ca-edit, #ca-ve-edit' ).find( 'a' ).each( function ( i, el ) {
el.href = $( this ).attr( 'href' ) + '&editintro=' + name;
} );
}
if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) {
$( function () {
if ( document.getElementById( 'disambigbox' ) ) {
addEditIntro( 'Bản_mẫu:Disambig_editintro' );
}
} );
$( function () {
var cats = mw.config.get('wgCategories');
if ( !cats ) {
return;
}
if ( $.inArray( 'Nhân vật còn sống', cats ) !== -1 || $.inArray( 'Nhân vật có thể còn sống', cats ) !== -1 ) {
addEditIntro( 'Bản_mẫu:BLP_editintro' );
}
} );
}
|
- Giới thiệu: Đoạn mã này giúp gắn bảng thông báo khi sửa đổi trang TSNDS được đánh dấu bằng thể loại Thể loại:Nhân vật còn sống hoặc Thể loại:Nhân vật có thể còn sống, và các trang định hướng được đánh dấu bằng các bản mẫu định hướng
- Vị trí: Từ dòng #L-295 - #L-323
- Đề xuất: Xóa bỏ đoạn mã này và thay bằng một mô đun Lua.
- Ví dụ: Xem Thành viên:Hide on Rosé/Nháp 13 và testwiki:Bài viết 1 (nhấn nút "sửa" hoặc "sửa mã nguồn" để xem).
Chi tiết kỹ thuật
|
---|
|
Ý kiến khác
sửa- Ý kiến Thảo luận này có chuyên môn khá cao nên tôi nghĩ nhiều tv sẽ chả hiểu gì thì lấy gì mà bỏ phiếu? Bạn nên đi kêu gọi các tv chuyên mảng kỹ thuật vào ý kiến thì sẽ tốt hơn. Dĩ nhiên, bất cứ ai khác (dù chuyên mảng kỹ thuật hay không) cũng đều có thể bỏ phiếu nếu như có nhu cầu. SicMundusCreatusEst (tiếng Latin) 12:50, ngày 18 tháng 4 năm 2024 (UTC)
- Tôi hiểu ý của bạn nên xin phép đưa ra giải thích ngắn gọn như sau: Giảm bớt script phải tải trên trang JS, giúp tăng hiệu năng truy cập Wikipedia. Phạm Ngọc Phương Linh ♥
(T • C • CA • L • B • UR) 12:54, ngày 18 tháng 4 năm 2024 (UTC)- Theo tôi đoạn JS này thực sự rất nhẹ rồi, chỉ cần cải thiện hiệu năng là đủ. Có thể thay thế các đoạn JS cũ sang các tính năng mới như các đề xuất trên. Ngoài ra, tôi có dùng Biome để cải thiện một số chỗ, và tôi nghĩ nó vẫn hoạt động bình thường (chắc vậy). -> Thành viên:CDzWik/common.js. – CDzWik (thảo luận) 04:40, ngày 19 tháng 4 năm 2024 (UTC)
- @CDzWik: Vẫn thừa một số phần và một số phần đã lỗi thời; số khác có thể thay bằng những giải pháp khác, ví dụ thay bảng thông báo sửa đổi bằng một mô đun Lua. Phạm Ngọc Phương Linh ♥
(T • C • CA • L • B • UR) 13:24, ngày 20 tháng 4 năm 2024 (UTC)- Phần chỉ báo trạng thái trang thuộc về skin đúng không nhỉ? Còn phần module Lua thì thuộc về mã nguồn của bài viết? Vậy mình cứ thế mà xoá đi còn bài viết phải tự chỉnh sửa lại? Còn người dùng skin Minerva Neue sẽ thiếu phần Phần chỉ báo trạng thái trang. – CDzWik (thảo luận) 14:18, ngày 20 tháng 4 năm 2024 (UTC)
- @CDzWik:
Phần lớn các bài về TSNDS đều chứa thể loại NVCS trong mã nguồn, vì vậy có thể áp dụng, còn về mô đun Lua, sẽ phải nghiên cứu thêm cách nhận dạng bài chứa thể loại nhúng qua bài mẫu.
Chỉ báo trạng thái trang là của MediaWiki, còn snippet JS hoàn toàn đã lỗi thời nên có thể bỏ. Phạm Ngọc Phương Linh ♥
(T • C • CA • L • B • UR) 14:38, ngày 20 tháng 4 năm 2024 (UTC)
- @CDzWik:
- Phần chỉ báo trạng thái trang thuộc về skin đúng không nhỉ? Còn phần module Lua thì thuộc về mã nguồn của bài viết? Vậy mình cứ thế mà xoá đi còn bài viết phải tự chỉnh sửa lại? Còn người dùng skin Minerva Neue sẽ thiếu phần Phần chỉ báo trạng thái trang. – CDzWik (thảo luận) 14:18, ngày 20 tháng 4 năm 2024 (UTC)
- @CDzWik: Vẫn thừa một số phần và một số phần đã lỗi thời; số khác có thể thay bằng những giải pháp khác, ví dụ thay bảng thông báo sửa đổi bằng một mô đun Lua. Phạm Ngọc Phương Linh ♥
- Theo tôi đoạn JS này thực sự rất nhẹ rồi, chỉ cần cải thiện hiệu năng là đủ. Có thể thay thế các đoạn JS cũ sang các tính năng mới như các đề xuất trên. Ngoài ra, tôi có dùng Biome để cải thiện một số chỗ, và tôi nghĩ nó vẫn hoạt động bình thường (chắc vậy). -> Thành viên:CDzWik/common.js. – CDzWik (thảo luận) 04:40, ngày 19 tháng 4 năm 2024 (UTC)
- Tôi hiểu ý của bạn nên xin phép đưa ra giải thích ngắn gọn như sau: Giảm bớt script phải tải trên trang JS, giúp tăng hiệu năng truy cập Wikipedia. Phạm Ngọc Phương Linh ♥
- Ý kiến Nếu rút gọn như vậy thì sau khi có đồng thuận thì bạn nên tag Lê Song Vĩ để sửa lại code dọn dẹp chỗ thử tại Trợ giúp:Chỗ thử nhé. P/s: Chắc nên biên tập thêm phần phụ chú ẩn để hướng dẫn biên tập viên dùng chỗ thử đúng cách... Anster (thảo luận) 01:57, ngày 21 tháng 4 năm 2024 (UTC)
- @NgocAnMaster: Lấy luôn thứ mà bạn đã bỏ vào Thành viên:Hộp cát Phạm Ngọc Phương Linh ♥
(T • C • CA • L • B • UR) 03:13, ngày 21 tháng 4 năm 2024 (UTC)
- @NgocAnMaster: Lấy luôn thứ mà bạn đã bỏ vào Thành viên:Hộp cát Phạm Ngọc Phương Linh ♥
- Ý kiến Khi làm theo hướng dẫn của đường link Thành viên:Hide on Rosé/Nháp 13, tôi được trả về là lỗi Lua trong hộp thông báo. Mặt khác, các đề xuất trên khá "chuyên ngành", tôi đọc một lúc vẫn chẳng hiểu nội dung là gì. — Dr. Voirloup💬 03:41, ngày 22 tháng 4 năm 2024 (UTC)
- Rõ ràng là nội dung này rất chuyên ngành. Người không có chuyên môn thì chắc chắn không thể hiểu được. Ví dụ, bạn nào không có bằng đại học vật lý thì đố mà đọc hiểu được thuyết tương đối rộng và cơ học lượng tử. Tôi đã nói là phải mời các thành viên có chuyên môn để vào bỏ phiếu. Không chịu mời thì chịu vậy. SicMundusCreatusEst (tiếng Latin) 07:44, ngày 23 tháng 4 năm 2024 (UTC)
Thảo luận trên đã được đóng lại. Xin đừng sửa chữa nó. Mọi ý kiến tiếp theo nên được viết trong các trang thảo luận phù hợp. Đừng thực hiện thêm bất kỳ thay đổi nào trong cuộc thảo luận này.
- Ý kiến @Hide on Rosé Cái đề xuất số 2: nếu cái đó quá lỗi thời, xóa cũng không ảnh hưởng gì vì đã có cái khác thế chỗ bao năm nay rồi thì chi bằng nhờ BQV Plantaest xóa luôn. Băng Tỏa 21:02, ngày 29 tháng 8 năm 2024 (UTC)