<link href="../fonts/font.css" rel="stylesheet" type="text/css">

<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fa">
		<id>https://wiki.imaroof.ir/index.php?action=history&amp;feed=atom&amp;title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C%3AGadget-fixRefs.js</id>
		<title>مدیاویکی:Gadget-fixRefs.js - تاریخچهٔ ویرایش‌ها</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.imaroof.ir/index.php?action=history&amp;feed=atom&amp;title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C%3AGadget-fixRefs.js"/>
		<link rel="alternate" type="text/html" href="https://wiki.imaroof.ir/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-fixRefs.js&amp;action=history"/>
		<updated>2026-08-02T07:34:16Z</updated>
		<subtitle>تاریخچهٔ ویرایش‌های این صفحه در ویکی</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://wiki.imaroof.ir/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-fixRefs.js&amp;diff=294&amp;oldid=prev</id>
		<title>Admin: صفحه‌ای تازه حاوی «//&lt;pre&gt;&lt;code&gt; // // User:Gimmetrow/fixRefs.js   function fixRefMarks() {    var qt = String.fromCharCode(34)    // var hb = String.from...» ایجاد کرد</title>
		<link rel="alternate" type="text/html" href="https://wiki.imaroof.ir/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-fixRefs.js&amp;diff=294&amp;oldid=prev"/>
				<updated>2016-03-01T08:18:14Z</updated>
		
		<summary type="html">&lt;p&gt;صفحه‌ای تازه حاوی «//&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt; // // &lt;a href=&quot;/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Gimmetrow/fixRefs.js&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;کاربر:Gimmetrow/fixRefs.js (صفحه وجود ندارد)&quot;&gt;User:Gimmetrow/fixRefs.js&lt;/a&gt;   function fixRefMarks() {    var qt = String.fromCharCode(34)    // var hb = String.from...» ایجاد کرد&lt;/p&gt;
&lt;p&gt;&lt;b&gt;صفحهٔ تازه&lt;/b&gt;&lt;/p&gt;&lt;div&gt;//&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// [[User:Gimmetrow/fixRefs.js]]&lt;br /&gt;
 &lt;br /&gt;
function fixRefMarks() {&lt;br /&gt;
   var qt = String.fromCharCode(34)&lt;br /&gt;
   // var hb = String.fromCharCode(124)&lt;br /&gt;
   var txt = document.editform.wpTextbox1;&lt;br /&gt;
 &lt;br /&gt;
   // fact and other templates (geographic reference template, ref/note)&lt;br /&gt;
   var FactTag = &amp;quot;({{ *مدرک *}}|{{ *نیازمند +منبع *}}|{{[ ]*fact[ ]*}}|{{[ ]*fact[ ]*[\|][^}]*}}|{{[ ]*facts[ ]*}}|{{[ ]*citequote[ ]*}}|{{[ ]*citation needed[ ]*}}|{{[ ]*citation needed[ ]*[\|][^}]*}}|{{[ ]*cn[ ]*}}|{{[ ]*verification needed[ ]*}}|{{[ ]*verify source[ ]*}}|{{[ ]*verify credibility[ ]*}}|{{[ ]*who[ ]*}}|{{[ ]*failed verification[ ]*}}|{{[ ]*nonspecific[ ]*}}|{{[ ]*dubious[ ]*}}|{{[ ]*or[ ]*}}|{{[ ]*lopsided[ ]*}}|{{[ ]*GR[ ]*[\|][ ]*[^ ]+[ ]*}}|{{[ ]*[c]?r[e]?f[ ]*[\|][^}]*}}|{{[ ]*ref[ _]label[ ]*[\|][^}]*}}|{{[ ]*ref[ _]num[ ]*[\|][^}]*}})&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
   txt.value = txt.value&lt;br /&gt;
   .replace(new RegExp(&amp;quot;[\n\r\f\t ]+?&amp;quot;+FactTag, &amp;quot;gi&amp;quot;), &amp;quot;$1&amp;quot;)&lt;br /&gt;
   // one+ space/linefeed, avoid matching references tag as a named ref&lt;br /&gt;
   .replace(new RegExp(&amp;quot;[\n\r\f\t ]+?&amp;lt;ref([ &amp;gt;])&amp;quot;, &amp;quot;gi&amp;quot;), &amp;quot;&amp;lt;ref$1&amp;quot;)&lt;br /&gt;
   // remove trailing spaces from named refs&lt;br /&gt;
   .replace(new RegExp(&amp;quot;&amp;lt;ref ([^&amp;gt;]*[^&amp;gt; ])[ ]*&amp;gt;&amp;quot;, &amp;quot;gi&amp;quot;), &amp;quot;&amp;lt;ref $1&amp;gt;&amp;quot;)&lt;br /&gt;
   // remove some superscripted punctuation between refs (is between necessary?)&lt;br /&gt;
   .replace(new RegExp(&amp;quot;(&amp;lt;/ref&amp;gt;|&amp;lt;ref[^&amp;gt;]*?/&amp;gt;)&amp;lt;sup&amp;gt;[ ]*[,;-]?[ ]*&amp;lt;/sup&amp;gt;&amp;lt;ref&amp;quot;, &amp;quot;gi&amp;quot;), &amp;quot;$1&amp;lt;ref&amp;quot;)&lt;br /&gt;
   .replace(new RegExp(&amp;quot;(&amp;lt;/ref&amp;gt;|&amp;lt;ref[^&amp;gt;]*?/&amp;gt;)[ ]*[,;-]?[ ]*&amp;lt;ref&amp;quot;, &amp;quot;gi&amp;quot;), &amp;quot;$1&amp;lt;ref&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
   .replace(new RegExp(&amp;quot;(&amp;lt;/ref&amp;gt;|&amp;lt;ref[^&amp;gt;]*?/&amp;gt;)[ \n\r\f\t]*([\.,])&amp;quot;, &amp;quot;gi&amp;quot;), &amp;quot;$1$2&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
   var LacksPunctuation = &amp;quot;([^\.،؛,;:!؟\?&amp;quot;+qt+&amp;quot;'’])&amp;quot;;&lt;br /&gt;
   var QuestionOrExclam = &amp;quot;([!؟\?])&amp;quot;;&lt;br /&gt;
   var MinorPunctuation = &amp;quot;([\.،؛,;:])&amp;quot;;&lt;br /&gt;
   var Blockquote       = &amp;quot;(&amp;lt;/blockquote&amp;gt;)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
   var Quote = &amp;quot;([&amp;quot; + qt + &amp;quot;'’]*)&amp;quot;;&lt;br /&gt;
   //var Space = &amp;quot;[\n\r\f\t ]*&amp;quot;; // to handle  http://en.wikipedia.org/w/index.php?title=Cat&amp;amp;diff=99697351&amp;amp;oldid=99697026&lt;br /&gt;
   var Space = &amp;quot;[ ]*&amp;quot;;&lt;br /&gt;
   var Space2 = &amp;quot;[\n\r\f\t ]*&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
   var AnyPunctuation = &amp;quot;([\.،؛,;:!؟\?])&amp;quot;;&lt;br /&gt;
   var MajorPunctuation = &amp;quot;([،؛,;:!؟\?])&amp;quot;;&lt;br /&gt;
   var Period = &amp;quot;([\.])&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
   // can this complicated close tag be simplified?&lt;br /&gt;
   //var closetag = &amp;quot;(([^&amp;lt;]|&amp;lt;[^/]|&amp;lt;/[^r]|&amp;lt;/r[^e]|&amp;lt;/re[^f]|&amp;lt;/ref[^&amp;gt;])*?)&amp;lt;/ref&amp;gt;&amp;quot;;&lt;br /&gt;
   //var closetag = &amp;quot;((.*?))&amp;lt;/ref&amp;gt;&amp;quot;;&lt;br /&gt;
   var RefTag1 = &amp;quot;(&amp;lt;ref&amp;gt;([^&amp;lt;]|&amp;lt;[^/]|&amp;lt;/[^r]|&amp;lt;/r[^e]|&amp;lt;/re[^f]|&amp;lt;/ref[^&amp;gt;])*?&amp;lt;/ref&amp;gt;)&amp;quot;;&lt;br /&gt;
   var RefTag2 = &amp;quot;(&amp;lt;ref[^&amp;gt;]*?[^/]&amp;gt;([^&amp;lt;]|&amp;lt;[^/]|&amp;lt;/[^r]|&amp;lt;/r[^e]|&amp;lt;/re[^f]|&amp;lt;/ref[^&amp;gt;])*?&amp;lt;/ref&amp;gt;)&amp;quot;;&lt;br /&gt;
   var RefTag3 = &amp;quot;(&amp;lt;ref[^&amp;gt;]*?/&amp;gt;)&amp;quot;;&lt;br /&gt;
   //var Note = &amp;quot;(&amp;quot;+RefTag1 + &amp;quot;|(&amp;quot; + RefTag2 + &amp;quot;)|(&amp;quot; + FactTag + &amp;quot;))&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
   var match0a = LacksPunctuation+Quote+FactTag+Space+AnyPunctuation;&lt;br /&gt;
   var match0b = QuestionOrExclam+Quote+FactTag+Space+MajorPunctuation;&lt;br /&gt;
   var match0c = MinorPunctuation+Quote+FactTag+Space+AnyPunctuation;&lt;br /&gt;
   var match0d = QuestionOrExclam+Quote+FactTag+Space+Period;&lt;br /&gt;
 &lt;br /&gt;
   var match1a = LacksPunctuation+Quote+RefTag1+Space+AnyPunctuation;&lt;br /&gt;
   var match1b = QuestionOrExclam+Quote+RefTag1+Space+MajorPunctuation;&lt;br /&gt;
   var match1c = MinorPunctuation+Quote+RefTag1+Space+AnyPunctuation;&lt;br /&gt;
   var match1d = QuestionOrExclam+Quote+RefTag1+Space+Period;&lt;br /&gt;
 &lt;br /&gt;
   var match2a = LacksPunctuation+Quote+RefTag2+Space+AnyPunctuation;&lt;br /&gt;
   var match2b = QuestionOrExclam+Quote+RefTag2+Space+MajorPunctuation;&lt;br /&gt;
   var match2c = MinorPunctuation+Quote+RefTag2+Space+AnyPunctuation;&lt;br /&gt;
   var match2d = QuestionOrExclam+Quote+RefTag2+Space+Period;&lt;br /&gt;
 &lt;br /&gt;
   var match3a = LacksPunctuation+Quote+RefTag3+Space+AnyPunctuation;&lt;br /&gt;
   var match3b = QuestionOrExclam+Quote+RefTag3+Space+MajorPunctuation;&lt;br /&gt;
   var match3c = MinorPunctuation+Quote+RefTag3+Space+AnyPunctuation;&lt;br /&gt;
   var match3d = QuestionOrExclam+Quote+RefTag3+Space+Period;&lt;br /&gt;
 &lt;br /&gt;
   for (var j=0; j&amp;lt;5; j++)  // repeat for multiple refs together&lt;br /&gt;
   {&lt;br /&gt;
      txt.value = txt.value&lt;br /&gt;
      .replace(new RegExp(match0a, &amp;quot;gi&amp;quot;), &amp;quot;$1$2$4$3&amp;quot;)&lt;br /&gt;
      .replace(new RegExp(match0b, &amp;quot;gi&amp;quot;), &amp;quot;$1$2$4$3&amp;quot;)&lt;br /&gt;
      .replace(new RegExp(match0c, &amp;quot;gi&amp;quot;), &amp;quot;$2$4$3&amp;quot;)&lt;br /&gt;
      .replace(new RegExp(match0d, &amp;quot;gi&amp;quot;), &amp;quot;$1$2$3&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
      .replace(new RegExp(match1a, &amp;quot;gi&amp;quot;), &amp;quot;$1$2$5$3&amp;quot;)&lt;br /&gt;
      .replace(new RegExp(match1b, &amp;quot;gi&amp;quot;), &amp;quot;$1$2$5$3&amp;quot;)&lt;br /&gt;
      .replace(new RegExp(match1c, &amp;quot;gi&amp;quot;), &amp;quot;$2$5$3&amp;quot;)&lt;br /&gt;
      .replace(new RegExp(match1d, &amp;quot;gi&amp;quot;), &amp;quot;$1$2$3&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
      .replace(new RegExp(match2a, &amp;quot;gi&amp;quot;), &amp;quot;$1$2$5$3&amp;quot;)&lt;br /&gt;
      .replace(new RegExp(match2b, &amp;quot;gi&amp;quot;), &amp;quot;$1$2$5$3&amp;quot;)&lt;br /&gt;
      .replace(new RegExp(match2c, &amp;quot;gi&amp;quot;), &amp;quot;$2$5$3&amp;quot;)&lt;br /&gt;
      .replace(new RegExp(match2d, &amp;quot;gi&amp;quot;), &amp;quot;$1$2$3&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
      .replace(new RegExp(match3a, &amp;quot;gi&amp;quot;), &amp;quot;$1$2$4$3&amp;quot;)&lt;br /&gt;
      .replace(new RegExp(match3b, &amp;quot;gi&amp;quot;), &amp;quot;$1$2$4$3&amp;quot;)&lt;br /&gt;
      .replace(new RegExp(match3c, &amp;quot;gi&amp;quot;), &amp;quot;$2$4$3&amp;quot;)&lt;br /&gt;
      .replace(new RegExp(match3d, &amp;quot;gi&amp;quot;), &amp;quot;$1$2$3&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   // blockquotes (if trapped punctuation exists, remove it, and move blockquote past at least one ref)&lt;br /&gt;
   txt.value = txt.value&lt;br /&gt;
   .replace(new RegExp(Blockquote + AnyPunctuation + FactTag, &amp;quot;gi&amp;quot;), &amp;quot;$3$1&amp;quot;)&lt;br /&gt;
   .replace(new RegExp(Blockquote + AnyPunctuation + RefTag1, &amp;quot;gi&amp;quot;), &amp;quot;$3$1&amp;quot;)&lt;br /&gt;
   .replace(new RegExp(Blockquote + AnyPunctuation + RefTag2, &amp;quot;gi&amp;quot;), &amp;quot;$3$1&amp;quot;)&lt;br /&gt;
   .replace(new RegExp(Blockquote + AnyPunctuation + RefTag3, &amp;quot;gi&amp;quot;), &amp;quot;$3$1&amp;quot;)&lt;br /&gt;
   .replace(new RegExp(Blockquote + FactTag, &amp;quot;gi&amp;quot;), &amp;quot;$2$1&amp;quot;)&lt;br /&gt;
   .replace(new RegExp(Blockquote + RefTag1, &amp;quot;gi&amp;quot;), &amp;quot;$2$1&amp;quot;)&lt;br /&gt;
   .replace(new RegExp(Blockquote + RefTag2, &amp;quot;gi&amp;quot;), &amp;quot;$2$1&amp;quot;)&lt;br /&gt;
   .replace(new RegExp(Blockquote + RefTag3, &amp;quot;gi&amp;quot;), &amp;quot;$2$1&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
   var summary = document.editform.wpSummary;&lt;br /&gt;
   //summary.value = summary.value + &amp;quot; various minor fixes &amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
$(document).ready(function () {&lt;br /&gt;
    if(document.forms.editform) {&lt;br /&gt;
        mw.util.addPortletLink('p-tb', 'javascript:fixRefMarks()', 'تصحیح نمادهای پانویس', 't-reffix', 'Ref fix', '', '');&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
//&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>