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) [trả lời]

Đề xuất 1: Bảng thông báo chỗ thử

sửa
Bả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ửa
Biể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ửa
Thô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' );
		}
	} );
}
Chi tiết kỹ thuật

Ý kiến khác

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