User:逆襲的天邪鬼/Twinkle-lzh/friendlytag.js: Difference between revisions

no edit summary
m ((╯°Д°)╯︵ ~~~~~┻━┻)
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 156:
'繁簡相雜': '繁簡相雜',
'無據': '文章沒有任何參考來源',
'殘章': '文章還沒寫完',
'文未準': '文章存在一些問題,需要修正。必須指出具體原因。選中此條後會顯示一些常用原因,另外也可以填寫自己的理由。',
'遷': '請求移動條目。請記得給出目標名稱和移動原因。',
'併': '請求與其他條目合併。請記得給出合併目標和原因。'
};
 
Twinkle.tag.article.tagaliases = {
'殘章': ['stub', '芻文'],
'文白相雜': ['NotClassicalChinese'],
'繁簡相雜': ['簡體'],
'無據': ['Unreferenced'],
'文未準': ['Disputed'],
'遷': ['Move'],
'併': ['Mergeto']
};
 
Line 175 ⟶ 186:
main: function( pageobj ) {
var params = pageobj.getCallbackParameters(),
tagRe, tagText = '', summaryText = '加入',
tags = [], i, totalTags;
 
Line 199 ⟶ 210:
currentTag += params.tagParameters.disputeCustomReason;
}
currentTag += '}}\n';
break;
 
case '遷':
if (params.tagParameters.moveTarget) {
currentTag += '{{遷|';
// normalize the merge target for now and later
params.tagParameters.moveTarget = Morebits.string.toUpperCaseFirstChar(params.tagParameters.moveTarget.replace(/_/g, ' '));
currentTag += '|' + params.tagParameters.moveTarget + '}}\n';
}
break;
 
case '併':
if (params.tagParameters.mergeTarget) {
currentTag += '{{併|';
// normalize the merge target for now and later
params.tagParameters.mergeTarget = Morebits.string.toUpperCaseFirstChar(params.tagParameters.mergeTarget.replace(/_/g, ' '));
currentTag += '|' + params.tagParameters.mergeTarget + '}}\n';
}
break;
 
case '殘章':
pageText = pageText + '\n{{殘章}}';
break;
 
Line 240 ⟶ 256:
// Check for preexisting tags and separate tags into groupable and non-groupable arrays
for (i = 0; i < params.tags.length; i++) {
var found = false;
 
tagRe = new RegExp( '(\\{\\{' + params.tags[i] + '(\\||\\}\\})|\\|\\s*' + params.tags[i] + '\\s*=[a-z ]+\\d+)', 'im' );
if ( !tagRe.exec( pageText ) ) {
found = true;
}
 
if (Twinkle.tag.article.tagaliases) {
var aliases = Twinkle.tag.article.tagaliases[params.tags[i]];
for (var j=0; j<aliases.length; j++) {
tagRe = new RegExp( '(\\{\\{' + aliases[j] + '(\\||\\}\\})|\\|\\s*' + aliases[j] + '\\s*=[a-z ]+\\d+)', 'im' );
if (tagRe.exec(pageText)) {
found = true;
break;
}
}
}
 
if (!found) {
tags = tags.concat( params.tags[i] );
} else {
Line 248 ⟶ 281:
// don't do anything else with merge tags
if (params.tags[i] === "併") {
params.tagParameters.mergeTarget = params.tagParameters.mergeReason = false;
}
if (params.tags[i] === "遷") {
params.tagParameters.moveTarget = params.tagParameters.moveReason = false;
}
}
Line 266 ⟶ 299:
"$1" + tagText);
 
summaryText += ( tags.length > 0 ? '標記' : '' ) +
'至文';
 
// avoid truncated summaries
Line 283 ⟶ 316:
var talkpage;
// special functions for merge tags
if (params.tagParameters.mergeReason) {
// post the rationale on the talk page (only operates in main namespace)
talkpageText = "\n\n== 議併至[[" + params.tagParameters.mergeTarget + "]]合併 ==\n\n";
talkpageText += params.tagParameters.mergeReason.trim() + "--~~~~";
 
talkpage = new Morebits.wiki.page("Talk:" + mw.config.get('wgTitle'), "將理由貼进討論頁");
talkpage.setAppendText(talkpageText);
talkpage.setEditSummary('議將[[' + mw.config.get('wgTitle') + ']]' +
'併至' + '[[' + params.tagParameters.mergeTarget + ']]' +
Twinkle.getPref('summaryAd'));
talkpage.setWatchlist(Twinkle.getFriendlyPref('watchMergeDiscussions'));
Line 297 ⟶ 330:
talkpage.append();
}
if (params.tagParameters.moveReason) {
// post the rationale on the talk page (only operates in main namespace)
talkpageText = "\n\n== 議遷至[[" + params.tagParameters.moveTarget + "]] ==\n\n";
talkpageText += params.tagParameters.moveReason.trim() + "--~~~~";
 
talkpage = new Morebits.wiki.page("Talk:" + mw.config.get('wgTitle'), "將理由貼进討論頁");
talkpage.setAppendText(talkpageText);
talkpage.setEditSummary('議將[[' + mw.config.get('wgTitle') + ']]' +
'遷至' + '[[' + params.tagParameters.moveTarget + ']]' +
Twinkle.getPref('summaryAd'));
talkpage.setWatchlist(Twinkle.getFriendlyPref('watchMergeDiscussions'));