<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.runerealm.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-relativetime.js</id>
	<title>MediaWiki:Gadget-relativetime.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.runerealm.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-relativetime.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-relativetime.js&amp;action=history"/>
	<updated>2026-04-11T05:10:06Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-relativetime.js&amp;diff=42209&amp;oldid=prev</id>
		<title>Alex at 11:06, 20 October 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-relativetime.js&amp;diff=42209&amp;oldid=prev"/>
		<updated>2024-10-20T11:06:19Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-relativetime.js&amp;amp;diff=42209&amp;amp;oldid=39079&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-relativetime.js&amp;diff=39079&amp;oldid=prev</id>
		<title>Alex at 16:15, 17 October 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-relativetime.js&amp;diff=39079&amp;oldid=prev"/>
		<updated>2024-10-17T16:15:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:15, 17 October 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 138:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 138:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			|| LocalComments.excludeNamespaces.indexOf(mw.config.get(&quot;wgNamespaceNumber&quot;)) !== -1&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			|| LocalComments.excludeNamespaces.indexOf(mw.config.get(&quot;wgNamespaceNumber&quot;)) !== -1&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			|| [&quot;view&quot;, &quot;submit&quot;].indexOf(mw.config.get(&quot;wgAction&quot;)) === -1&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			|| [&quot;view&quot;, &quot;submit&quot;].indexOf(mw.config.get(&quot;wgAction&quot;)) === -1&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			|| &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;mw.&lt;/del&gt;mw.util.getParamValue(&quot;disable&quot;) === &quot;loco&quot;)&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			|| mw.util.getParamValue(&quot;disable&quot;) === &quot;loco&quot;)&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		{&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		{&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			return;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			return;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-relativetime.js&amp;diff=34652&amp;oldid=prev</id>
		<title>Alex at 23:10, 16 October 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-relativetime.js&amp;diff=34652&amp;oldid=prev"/>
		<updated>2024-10-16T23:10:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 01:10, 17 October 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 138:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 138:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			|| LocalComments.excludeNamespaces.indexOf(mw.config.get(&quot;wgNamespaceNumber&quot;)) !== -1&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			|| LocalComments.excludeNamespaces.indexOf(mw.config.get(&quot;wgNamespaceNumber&quot;)) !== -1&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			|| [&quot;view&quot;, &quot;submit&quot;].indexOf(mw.config.get(&quot;wgAction&quot;)) === -1&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			|| [&quot;view&quot;, &quot;submit&quot;].indexOf(mw.config.get(&quot;wgAction&quot;)) === -1&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			|| mw.util.getParamValue(&quot;disable&quot;) === &quot;loco&quot;)&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			|| &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;mw.&lt;/ins&gt;mw.util.getParamValue(&quot;disable&quot;) === &quot;loco&quot;)&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		{&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		{&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			return;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			return;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-relativetime.js&amp;diff=882&amp;oldid=prev</id>
		<title>Alex: Created page with &quot;// Don&#039;t load CommentsInLocalTime for namespaces it is disabled for. if ( [-1, 0, 8].indexOf(mw.config.get(&quot;wgNamespaceNumber&quot;)) === -1 ) { 	// w:en:User:Mxn/CommentsInLocalTime 	// en.wikipedia.org/wiki/User:Mxn/CommentsInLocalTime.js 	 	/** 	 * Comments in local time 	 * User:Mxn/CommentsInLocalTime 	 *  	 * Adjust timestamps in comment signatures to use easy-to-understand, relative 	 * local time instead of absolute UTC time. 	 *  	 * Inspired by [[Wikipedia:C...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-relativetime.js&amp;diff=882&amp;oldid=prev"/>
		<updated>2024-10-13T00:46:25Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;// Don&amp;#039;t load CommentsInLocalTime for namespaces it is disabled for. if ( [-1, 0, 8].indexOf(mw.config.get(&amp;quot;wgNamespaceNumber&amp;quot;)) === -1 ) { 	// &lt;a href=&quot;/index.php?title=W:en:User:Mxn/CommentsInLocalTime&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;W:en:User:Mxn/CommentsInLocalTime (page does not exist)&quot;&gt;w:en:User:Mxn/CommentsInLocalTime&lt;/a&gt; 	// en.wikipedia.org/wiki/User:Mxn/CommentsInLocalTime.js 	 	/** 	 * Comments in local time 	 * &lt;a href=&quot;/index.php?title=User:Mxn/CommentsInLocalTime&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:Mxn/CommentsInLocalTime (page does not exist)&quot;&gt;User:Mxn/CommentsInLocalTime&lt;/a&gt; 	 *  	 * Adjust timestamps in comment signatures to use easy-to-understand, relative 	 * local time instead of absolute UTC time. 	 *  	 * Inspired by [[Wikipedia:C...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;// Don&amp;#039;t load CommentsInLocalTime for namespaces it is disabled for.&lt;br /&gt;
if ( [-1, 0, 8].indexOf(mw.config.get(&amp;quot;wgNamespaceNumber&amp;quot;)) === -1 ) {&lt;br /&gt;
	// [[w:en:User:Mxn/CommentsInLocalTime]]&lt;br /&gt;
	// en.wikipedia.org/wiki/User:Mxn/CommentsInLocalTime.js&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Comments in local time&lt;br /&gt;
	 * [[User:Mxn/CommentsInLocalTime]]&lt;br /&gt;
	 * &lt;br /&gt;
	 * Adjust timestamps in comment signatures to use easy-to-understand, relative&lt;br /&gt;
	 * local time instead of absolute UTC time.&lt;br /&gt;
	 * &lt;br /&gt;
	 * Inspired by [[Wikipedia:Comments in Local Time]].&lt;br /&gt;
	 * &lt;br /&gt;
	 * @author [[User:Mxn]]&lt;br /&gt;
	 */&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Default settings for this gadget.&lt;br /&gt;
	 */&lt;br /&gt;
	window.LocalComments = $.extend({&lt;br /&gt;
		// USER OPTIONS ////////////////////////////////////////////////////////////&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 * When false, this gadget does nothing.&lt;br /&gt;
		 */&lt;br /&gt;
		enabled: true,&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 * Formats to display inline for each timestamp, keyed by a few common&lt;br /&gt;
		 * cases.&lt;br /&gt;
		 * &lt;br /&gt;
		 * If a property of this object is set to a string, the timestamp is&lt;br /&gt;
		 * formatted according to the documentation at&lt;br /&gt;
		 * &amp;lt;http://momentjs.com/docs/#/displaying/format/&amp;gt;.&lt;br /&gt;
		 * &lt;br /&gt;
		 * If a property of this object is set to a function, it is called to&lt;br /&gt;
		 * retrieve the formatted timestamp string. See&lt;br /&gt;
		 * &amp;lt;http://momentjs.com/docs/#/displaying/&amp;gt; for the various things you can&lt;br /&gt;
		 * do with the passed-in moment object.&lt;br /&gt;
		 */&lt;br /&gt;
		formats: {&lt;br /&gt;
			/**&lt;br /&gt;
			 * Within a day, show a relative time that’s easy to relate to.&lt;br /&gt;
			 */&lt;br /&gt;
			day: function (then) { return then.fromNow(); },&lt;br /&gt;
			&lt;br /&gt;
			/**&lt;br /&gt;
			 * Within a week, show a relative date and specific time, still helpful&lt;br /&gt;
			 * if the user doesn’t remember today’s date. Don’t show just a relative&lt;br /&gt;
			 * time, because a discussion may need more context than “Last Friday”&lt;br /&gt;
			 * on every comment.&lt;br /&gt;
			 */&lt;br /&gt;
			week: function (then) { return then.calendar(); },&lt;br /&gt;
			&lt;br /&gt;
			/**&lt;br /&gt;
			 * The calendar() method uses an ambiguous “MM/DD/YYYY” format for&lt;br /&gt;
			 * faraway dates; spell things out for this international audience.&lt;br /&gt;
			 */&lt;br /&gt;
			other: &amp;quot;LLL&amp;quot;,&lt;br /&gt;
		},&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 * Formats to display in each timestamp’s tooltip, one per line.&lt;br /&gt;
		 * &lt;br /&gt;
		 * If an element of this array is a string, the timestamp is formatted&lt;br /&gt;
		 * according to the documentation at&lt;br /&gt;
		 * &amp;lt;http://momentjs.com/docs/#/displaying/format/&amp;gt;.&lt;br /&gt;
		 * &lt;br /&gt;
		 * If an element of this array is a function, it is called to retrieve the&lt;br /&gt;
		 * formatted timestamp string. See &amp;lt;http://momentjs.com/docs/#/displaying/&amp;gt;&lt;br /&gt;
		 * for the various things you can do with the passed-in moment object.&lt;br /&gt;
		 */&lt;br /&gt;
		tooltipFormats: [&lt;br /&gt;
			function (then) { return then.fromNow(); },&lt;br /&gt;
			&amp;quot;LLLL&amp;quot;,&lt;br /&gt;
			&amp;quot;YYYY-MM-DDTHH:mmZ&amp;quot;,&lt;br /&gt;
		],&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 * When true, this gadget refreshes timestamps periodically.&lt;br /&gt;
		 */&lt;br /&gt;
		dynamic: true,&lt;br /&gt;
	}, {&lt;br /&gt;
		// SITE OPTIONS ////////////////////////////////////////////////////////////&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 * Numbers of namespaces to completely ignore. See [[Wikipedia:Namespace]].&lt;br /&gt;
		 */&lt;br /&gt;
		excludeNamespaces: [-1, 0, 8, 100, 108, 118],&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 * Names of tags that often directly contain timestamps.&lt;br /&gt;
		 * &lt;br /&gt;
		 * This is merely a performance optimization. This gadget will look at text&lt;br /&gt;
		 * nodes in any tag other than the codeTags, but adding a tag here ensures&lt;br /&gt;
		 * that it gets processed the most efficient way possible.&lt;br /&gt;
		 */&lt;br /&gt;
		proseTags: [&amp;quot;dd&amp;quot;, &amp;quot;li&amp;quot;, &amp;quot;p&amp;quot;, &amp;quot;td&amp;quot;],&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 * Names of tags that don’t contain timestamps either directly or&lt;br /&gt;
		 * indirectly.&lt;br /&gt;
		 */&lt;br /&gt;
		codeTags: [&amp;quot;code&amp;quot;, &amp;quot;input&amp;quot;, &amp;quot;pre&amp;quot;, &amp;quot;textarea&amp;quot;],&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 * Expected format or formats of the timestamps in existing wikitext. If&lt;br /&gt;
		 * very different formats have been used over the course of the wiki’s&lt;br /&gt;
		 * history, specify an array of formats.&lt;br /&gt;
		 * &lt;br /&gt;
		 * This option expects parsing format strings&lt;br /&gt;
		 * &amp;lt;http://momentjs.com/docs/#/parsing/string-format/&amp;gt;.&lt;br /&gt;
		 */&lt;br /&gt;
		parseFormat: &amp;quot;H:m, D MMM YYYY&amp;quot;,&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 * Regular expression matching all the timestamps inserted by this MediaWiki&lt;br /&gt;
		 * installation over the years. This regular expression should more or less&lt;br /&gt;
		 * agree with the parseFormat option.&lt;br /&gt;
		 * &lt;br /&gt;
		 * Until 2005:&lt;br /&gt;
		 * 	18:16, 23 Dec 2004 (UTC)&lt;br /&gt;
		 * 2005–present:&lt;br /&gt;
		 * 	08:51, 23 November 2015 (UTC)&lt;br /&gt;
		 */&lt;br /&gt;
		parseRegExp: /\d\d:\d\d, \d\d? (?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\w* \d{4} \(UTC\)/,&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 * UTC offset of the wiki&amp;#039;s default local timezone. See&lt;br /&gt;
		 * [[mw:Manual:Timezone]].&lt;br /&gt;
		 */&lt;br /&gt;
		utcOffset: 0,&lt;br /&gt;
	}, window.LocalComments);&lt;br /&gt;
	&lt;br /&gt;
	$(function () {&lt;br /&gt;
		if (!LocalComments.enabled&lt;br /&gt;
			|| LocalComments.excludeNamespaces.indexOf(mw.config.get(&amp;quot;wgNamespaceNumber&amp;quot;)) !== -1&lt;br /&gt;
			|| [&amp;quot;view&amp;quot;, &amp;quot;submit&amp;quot;].indexOf(mw.config.get(&amp;quot;wgAction&amp;quot;)) === -1&lt;br /&gt;
			|| mw.util.getParamValue(&amp;quot;disable&amp;quot;) === &amp;quot;loco&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		var proseTags = LocalComments.proseTags.join(&amp;quot;\n&amp;quot;).toUpperCase().split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
		// Exclude &amp;lt;time&amp;gt; to avoid an infinite loop when iterating over text nodes.&lt;br /&gt;
		var codeTags = $.merge(LocalComments.codeTags, [&amp;quot;time&amp;quot;]).join(&amp;quot;, &amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		// Look in the content body for DOM text nodes that may contain timestamps.&lt;br /&gt;
		// The wiki software has already localized other parts of the page.&lt;br /&gt;
		var root = $(&amp;quot;#wikiPreview, #mw-content-text&amp;quot;)[0];&lt;br /&gt;
		if (!root || !(&amp;quot;createNodeIterator&amp;quot; in document)) return;&lt;br /&gt;
		var iter = document.createNodeIterator(root, NodeFilter.SHOW_TEXT, {&lt;br /&gt;
			acceptNode: function (node) {&lt;br /&gt;
				// We can’t just check the node’s direct parent, because templates&lt;br /&gt;
				// like [[Template:Talkback]] and [[Template:Resolved]] may place a&lt;br /&gt;
				// signature inside a nondescript &amp;lt;span&amp;gt;.&lt;br /&gt;
				var isInProse = proseTags.indexOf(node.parentElement.nodeName) !== -1&lt;br /&gt;
					|| !$(node).parents(codeTags).length;&lt;br /&gt;
				var isDateNode = isInProse &amp;amp;&amp;amp; LocalComments.parseRegExp.test(node.data);&lt;br /&gt;
				return isDateNode ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;&lt;br /&gt;
			},&lt;br /&gt;
		});&lt;br /&gt;
		&lt;br /&gt;
		// Mark up each timestamp found.&lt;br /&gt;
		function wrapTimestamps() {&lt;br /&gt;
			var prefixNode;&lt;br /&gt;
			while ((prefixNode = iter.nextNode())) {&lt;br /&gt;
				var result = LocalComments.parseRegExp.exec(prefixNode.data);&lt;br /&gt;
				if (!result) continue;&lt;br /&gt;
				&lt;br /&gt;
				// Split out the timestamp into a separate text node.&lt;br /&gt;
				var dateNode = prefixNode.splitText(result.index);&lt;br /&gt;
				var suffixNode = dateNode.splitText(result[0].length);&lt;br /&gt;
				&lt;br /&gt;
				// Determine the represented time.&lt;br /&gt;
				var then = moment.utc(result[0], LocalComments.parseFormat);&lt;br /&gt;
				if (!then.isValid()) {&lt;br /&gt;
					// Many Wikipedias started out with English as the default&lt;br /&gt;
					// localization, so fall back to English.&lt;br /&gt;
					then = moment.utc(result[0], &amp;quot;H:m, D MMM YYYY&amp;quot;, &amp;quot;en&amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
				if (!then.isValid()) continue;&lt;br /&gt;
				then.utcOffset(-LocalComments.utcOffset);&lt;br /&gt;
				&lt;br /&gt;
				// Wrap the timestamp inside a &amp;lt;time&amp;gt; element for findability.&lt;br /&gt;
				var timeElt = $(&amp;quot;&amp;lt;time /&amp;gt;&amp;quot;);&lt;br /&gt;
				// MediaWiki core styles .explain[title] the same way as&lt;br /&gt;
				// abbr[title], guiding the user to the tooltip.&lt;br /&gt;
				timeElt.addClass(&amp;quot;localcomments explain&amp;quot;);&lt;br /&gt;
				timeElt.attr(&amp;quot;datetime&amp;quot;, then.toISOString());&lt;br /&gt;
				$(dateNode).wrap(timeElt);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 * Returns a formatted string for the given moment object.&lt;br /&gt;
		 * &lt;br /&gt;
		 * @param {Moment} then The moment object to format.&lt;br /&gt;
		 * @param {String} fmt A format string or function.&lt;br /&gt;
		 * @returns {String} A formatted string.&lt;br /&gt;
		 */&lt;br /&gt;
		function formatMoment(then, fmt) {&lt;br /&gt;
			return (fmt instanceof Function) ? fmt(then) : then.format(fmt);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 * Reformats a timestamp marked up with the &amp;lt;time&amp;gt; element.&lt;br /&gt;
		 * &lt;br /&gt;
		 * @param {Number} idx Unused.&lt;br /&gt;
		 * @param {Element} elt The &amp;lt;time&amp;gt; element.&lt;br /&gt;
		 */&lt;br /&gt;
		function formatTimestamp(idx, elt) {&lt;br /&gt;
			var iso = $(elt).attr(&amp;quot;datetime&amp;quot;);&lt;br /&gt;
			var then = moment(iso, moment.ISO_8601);&lt;br /&gt;
			var now = moment();&lt;br /&gt;
			var withinHours = Math.abs(then.diff(now, &amp;quot;hours&amp;quot;, true))&lt;br /&gt;
				&amp;lt;= moment.relativeTimeThreshold(&amp;quot;h&amp;quot;);&lt;br /&gt;
			var formats = LocalComments.formats;&lt;br /&gt;
			var text;&lt;br /&gt;
			if (withinHours) {&lt;br /&gt;
				text = formatMoment(then, formats.day || formats.other);&lt;br /&gt;
			}&lt;br /&gt;
			else {&lt;br /&gt;
				var dayDiff = then.diff(moment().startOf(&amp;quot;day&amp;quot;), &amp;quot;days&amp;quot;, true);&lt;br /&gt;
				if (dayDiff &amp;gt; -6 &amp;amp;&amp;amp; dayDiff &amp;lt; 7) {&lt;br /&gt;
					text = formatMoment(then, formats.week || formats.other);&lt;br /&gt;
				}&lt;br /&gt;
				else text = formatMoment(then, formats.other);&lt;br /&gt;
			}&lt;br /&gt;
			$(elt).text(text);&lt;br /&gt;
			&lt;br /&gt;
			// Add a tooltip with multiple formats.&lt;br /&gt;
			elt.title = $.map(LocalComments.tooltipFormats, function (fmt, idx) {&lt;br /&gt;
				return formatMoment(then, fmt);&lt;br /&gt;
			}).join(&amp;quot;\n&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
			// Register for periodic updates.&lt;br /&gt;
			var withinMinutes = withinHours&lt;br /&gt;
				&amp;amp;&amp;amp; Math.abs(then.diff(now, &amp;quot;minutes&amp;quot;, true))&lt;br /&gt;
					&amp;lt;= moment.relativeTimeThreshold(&amp;quot;m&amp;quot;);&lt;br /&gt;
			var withinSeconds = withinMinutes&lt;br /&gt;
				&amp;amp;&amp;amp; Math.abs(then.diff(now, &amp;quot;seconds&amp;quot;, true))&lt;br /&gt;
					&amp;lt;= moment.relativeTimeThreshold(&amp;quot;s&amp;quot;);&lt;br /&gt;
			var unit = withinSeconds ? &amp;quot;seconds&amp;quot; :&lt;br /&gt;
				(withinMinutes ? &amp;quot;minutes&amp;quot; :&lt;br /&gt;
					(withinHours ? &amp;quot;hours&amp;quot; : &amp;quot;days&amp;quot;));&lt;br /&gt;
			$(elt).attr(&amp;quot;data-localcomments-unit&amp;quot;, unit);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 * Reformat all marked-up timestamps and start updating timestamps on an&lt;br /&gt;
		 * interval as necessary.&lt;br /&gt;
		 */&lt;br /&gt;
		function formatTimestamps() {&lt;br /&gt;
			wrapTimestamps();&lt;br /&gt;
			$(&amp;quot;.localcomments&amp;quot;).each(function (idx, elt) {&lt;br /&gt;
				// Update every timestamp at least this once.&lt;br /&gt;
				formatTimestamp(idx, elt);&lt;br /&gt;
				&lt;br /&gt;
				if (!LocalComments.dynamic) return;&lt;br /&gt;
				&lt;br /&gt;
				// Update this minute’s timestamps every second.&lt;br /&gt;
				if ($(&amp;quot;[data-localcomments-unit=&amp;#039;seconds&amp;#039;]&amp;quot;).length) {&lt;br /&gt;
					setInterval(function () {&lt;br /&gt;
						$(&amp;quot;[data-localcomments-unit=&amp;#039;seconds&amp;#039;]&amp;quot;).each(formatTimestamp);&lt;br /&gt;
					}, 1000 /* ms */);&lt;br /&gt;
				}&lt;br /&gt;
				// Update this hour’s timestamps every minute.&lt;br /&gt;
				setInterval(function () {&lt;br /&gt;
					$(&amp;quot;[data-localcomments-unit=&amp;#039;minutes&amp;#039;]&amp;quot;).each(formatTimestamp);&lt;br /&gt;
				}, 60 /* s */ * 1000 /* ms */);&lt;br /&gt;
				// Update today’s timestamps every hour.&lt;br /&gt;
				setInterval(function () {&lt;br /&gt;
					$(&amp;quot;[data-localcomments-unit=&amp;#039;hours&amp;#039;]&amp;quot;).each(formatTimestamp);&lt;br /&gt;
				}, 60 /* min */ * 60 /* s */ * 1000 /* ms */);&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		mw.loader.using(&amp;quot;moment&amp;quot;, function () {&lt;br /&gt;
			wrapTimestamps();&lt;br /&gt;
			formatTimestamps();&lt;br /&gt;
		});&lt;br /&gt;
	});&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
</feed>