<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.geministation.com/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-gsnews.js</id>
	<title>MediaWiki:Gadget-gsnews.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.geministation.com/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-gsnews.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-gsnews.js&amp;action=history"/>
	<updated>2026-06-04T02:58:08Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-gsnews.js&amp;diff=9398&amp;oldid=prev</id>
		<title>Banri at 16:29, 17 August 2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-gsnews.js&amp;diff=9398&amp;oldid=prev"/>
		<updated>2021-08-17T16:29: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 16:29, 17 August 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l84&quot;&gt;Line 84:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 84:&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;				$arrow,&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;				$arrow,&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;				$(&amp;#039;&amp;lt;h2&amp;gt;&amp;#039;).html(&amp;#039;Latest Gemini Station News&amp;#039;),&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;				$(&amp;#039;&amp;lt;h2&amp;gt;&amp;#039;).html(&amp;#039;Latest Gemini Station News&amp;#039;),&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;				$(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;gsw-gsnews-help&#039;).html(&#039;Curated by trusted community members. &amp;lt;a href=&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/w/&lt;/del&gt;Help:Gadget-gsnews&quot; target=&quot;_blank&quot;&amp;gt;Learn more&amp;lt;/a&amp;gt;. View this feed &amp;lt;a href=&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/w/&lt;/del&gt;GSWiki:News&quot; target=&quot;_blank&quot;&amp;gt;on a page&amp;lt;/a&amp;gt;.&#039;),&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;				$(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;gsw-gsnews-help&#039;).html(&#039;Curated by trusted community members. &amp;lt;a href=&quot;Help:Gadget-gsnews&quot; target=&quot;_blank&quot;&amp;gt;Learn more&amp;lt;/a&amp;gt;. View this feed &amp;lt;a href=&quot;GSWiki:News&quot; target=&quot;_blank&quot;&amp;gt;on a page&amp;lt;/a&amp;gt;.&#039;),&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;				$content&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;				$content&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;!-- diff cache key wiki_gem-wiki:diff:1.41:old-9216:rev-9398:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Banri</name></author>
	</entry>
	<entry>
		<id>https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-gsnews.js&amp;diff=9216&amp;oldid=prev</id>
		<title>Banri at 19:46, 9 August 2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-gsnews.js&amp;diff=9216&amp;oldid=prev"/>
		<updated>2021-08-09T19:46:28Z</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 19:46, 9 August 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l47&quot;&gt;Line 47:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 47:&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;br&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;br&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;	function init() {&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;	function init() {&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;		$content = $(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;gsw-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rsnews&lt;/del&gt;-content&#039;);&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;		$content = $(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;gsw-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews&lt;/ins&gt;-content&#039;);&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;		$list = $(&amp;#039;&amp;lt;ul&amp;gt;&amp;#039;).addClass(&amp;#039;news-list&amp;#039;);&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;		$list = $(&amp;#039;&amp;lt;ul&amp;gt;&amp;#039;).addClass(&amp;#039;news-list&amp;#039;);&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 colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l55&quot;&gt;Line 55:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 55:&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;				&amp;#039;&amp;#039;,&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;				&amp;#039;&amp;#039;,&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;				&amp;#039;&amp;#039;,&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;				&amp;#039;&amp;#039;,&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;				&#039;pt-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rsnews&lt;/del&gt;&#039;,&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;				&#039;pt-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews&lt;/ins&gt;&#039;,&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;				&amp;#039;Gemini Staion News&amp;#039;,&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;				&amp;#039;Gemini Staion News&amp;#039;,&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;				null,&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;				null,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l71&quot;&gt;Line 71:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 71:&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;					// Google analytics tracker&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;					// Google analytics tracker&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;					if (typeof ga === &amp;#039;function&amp;#039;) {&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;					if (typeof ga === &amp;#039;function&amp;#039;) {&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;						ga(&#039;gtag_UA_126479006_1.send&#039;, &#039;event&#039;, &#039;Gadget-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rsnews&lt;/del&gt;&#039;, &#039;Open&#039;, &#039;Normal&#039;);&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;						ga(&#039;gtag_UA_126479006_1.send&#039;, &#039;event&#039;, &#039;Gadget-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews&lt;/ins&gt;&#039;, &#039;Open&#039;, &#039;Normal&#039;);&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;					&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 colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l78&quot;&gt;Line 78:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 78:&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;	&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; 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;			$arrow = $(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;gsw-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rsnews&lt;/del&gt;-arrow&#039;);&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;			$arrow = $(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;gsw-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews&lt;/ins&gt;-arrow&#039;);&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;			$popup = $(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;gsw-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rsnews&lt;/del&gt;&#039;).css({&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;			$popup = $(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;gsw-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews&lt;/ins&gt;&#039;).css({&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;				&amp;#039;max-width&amp;#039;: &amp;#039;500px&amp;#039;&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;				&amp;#039;max-width&amp;#039;: &amp;#039;500px&amp;#039;&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;			}).append(&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;			}).append(&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;				$arrow,&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;				$arrow,&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;				$(&amp;#039;&amp;lt;h2&amp;gt;&amp;#039;).html(&amp;#039;Latest Gemini Station News&amp;#039;),&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;				$(&amp;#039;&amp;lt;h2&amp;gt;&amp;#039;).html(&amp;#039;Latest Gemini Station News&amp;#039;),&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;				$(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;gsw-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rsnews&lt;/del&gt;-help&#039;).html(&#039;Curated by trusted community members. &amp;lt;a href=&quot;/w/Help:Gadget-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rsnews&lt;/del&gt;&quot; target=&quot;_blank&quot;&amp;gt;Learn more&amp;lt;/a&amp;gt;. View this feed &amp;lt;a href=&quot;/w/GSWiki:News&quot; target=&quot;_blank&quot;&amp;gt;on a page&amp;lt;/a&amp;gt;.&#039;),&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;				$(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;gsw-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews&lt;/ins&gt;-help&#039;).html(&#039;Curated by trusted community members. &amp;lt;a href=&quot;/w/Help:Gadget-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews&lt;/ins&gt;&quot; target=&quot;_blank&quot;&amp;gt;Learn more&amp;lt;/a&amp;gt;. View this feed &amp;lt;a href=&quot;/w/GSWiki:News&quot; target=&quot;_blank&quot;&amp;gt;on a page&amp;lt;/a&amp;gt;.&#039;),&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;				$content&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;				$content&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 colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l96&quot;&gt;Line 96:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 96:&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;			// Close popup when anywhere else is clicked&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;			// Close popup when anywhere else is clicked&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;			$(document).click(function(e) {&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;			$(document).click(function(e) {&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;				if (isopen &amp;amp;&amp;amp; !$(e.target).closest(&#039;.gsw-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rsnews&lt;/del&gt;&#039;).length) {&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;				if (isopen &amp;amp;&amp;amp; !$(e.target).closest(&#039;.gsw-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews&lt;/ins&gt;&#039;).length) {&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;					$popup.hide();&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;					$popup.hide();&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;					isopen = false;&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;					isopen = false;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l109&quot;&gt;Line 109:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 109:&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;		// If we&amp;#039;re on the standalone page, we should show the feed there&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;		// If we&amp;#039;re on the standalone page, we should show the feed there&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;		if ($(&amp;#039;.&amp;#039; + standaloneClass).length) {&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;		if ($(&amp;#039;.&amp;#039; + standaloneClass).length) {&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;			$(&#039;.&#039; + standaloneClass).addClass(&#039;gsw-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rsnews&lt;/del&gt;&#039;).html($content);&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;			$(&#039;.&#039; + standaloneClass).addClass(&#039;gsw-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews&lt;/ins&gt;&#039;).html($content);&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;			// change the click handler on the portlet link because&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;			// change the click handler on the portlet link because&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l116&quot;&gt;Line 116:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 116:&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;				$(portletLink).find(&amp;#039;a&amp;#039;).off(&amp;#039;click&amp;#039;).click(function(e) {&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;				$(portletLink).find(&amp;#039;a&amp;#039;).off(&amp;#039;click&amp;#039;).click(function(e) {&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;					e.preventDefault();&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;					e.preventDefault();&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.notify( &#039;You are on the standalone page for the feed already. You do not need to open this popup.&#039;, { tag: &#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rsnews&lt;/del&gt;&#039; } );&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.notify( &#039;You are on the standalone page for the feed already. You do not need to open this popup.&#039;, { tag: &#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews&lt;/ins&gt;&#039; } );&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;			}&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 colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l168&quot;&gt;Line 168:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 168:&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;	function setLoading () {&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;	function setLoading () {&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.log(&#039;Setting &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;RSNews &lt;/del&gt;as loading&#039;);&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.log(&#039;Setting &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews &lt;/ins&gt;as loading&#039;);&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;		$(&#039;.gsw-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rsnews&lt;/del&gt;-content&#039;).addClass(&#039;gsw-social-loading&#039;);&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;		$(&#039;.gsw-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews&lt;/ins&gt;-content&#039;).addClass(&#039;gsw-social-loading&#039;);&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;	&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;	function setLoadingDone () {&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;	function setLoadingDone () {&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.log(&#039;Setting &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;RSNews &lt;/del&gt;as loading done&#039;);&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.log(&#039;Setting &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews &lt;/ins&gt;as loading done&#039;);&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;		$(&#039;.gsw-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rsnews&lt;/del&gt;-content&#039;).removeClass(&#039;gsw-social-loading&#039;);&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;		$(&#039;.gsw-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews&lt;/ins&gt;-content&#039;).removeClass(&#039;gsw-social-loading&#039;);&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;br&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;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l185&quot;&gt;Line 185:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 185:&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;		function trackClick( e ) {&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;		function trackClick( e ) {&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;			if (typeof ga === &amp;#039;function&amp;#039;) {&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;			if (typeof ga === &amp;#039;function&amp;#039;) {&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;				ga(&#039;gtag_UA_126479006_1.send&#039;, &#039;event&#039;, &#039;Gadget-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rsnews&lt;/del&gt;&#039;, &#039;Open link&#039;, e.data.type);&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;				ga(&#039;gtag_UA_126479006_1.send&#039;, &#039;event&#039;, &#039;Gadget-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews&lt;/ins&gt;&#039;, &#039;Open link&#039;, e.data.type);&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;		}&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 colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l390&quot;&gt;Line 390:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 390:&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;		if (itemId !== parseInt(lastItem)) {&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;		if (itemId !== parseInt(lastItem)) {&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;			$(portletLink).find(&amp;#039;a.oo-ui-icon-feedback&amp;#039;)&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;			$(portletLink).find(&amp;#039;a.oo-ui-icon-feedback&amp;#039;)&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;				.addClass(&#039;gsw-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rsnews&lt;/del&gt;-hasunread&#039;)&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;				.addClass(&#039;gsw-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews&lt;/ins&gt;-hasunread&#039;)&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;		} else {&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;		} else {&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;			$(portletLink).find(&amp;#039;a.oo-ui-icon-feedback&amp;#039;)&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;			$(portletLink).find(&amp;#039;a.oo-ui-icon-feedback&amp;#039;)&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;				.removeClass(&#039;gsw-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rsnews&lt;/del&gt;-hasunread&#039;)&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;				.removeClass(&#039;gsw-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gsnews&lt;/ins&gt;-hasunread&#039;)&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;	}&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;/table&gt;</summary>
		<author><name>Banri</name></author>
	</entry>
	<entry>
		<id>https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-gsnews.js&amp;diff=9213&amp;oldid=prev</id>
		<title>Banri: Created page with &quot;//&lt;nowiki&gt; /*global jQuery, mediaWiki, mw, gs, gswiki, moment, ga */ &#039;use strict&#039;;  ;(function($, mw, gs){ 	var portletLink, 		$popup, 		$arrow, 		$content, 		$list, 		news_it...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-gsnews.js&amp;diff=9213&amp;oldid=prev"/>
		<updated>2021-08-09T19:36:54Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;//&amp;lt;nowiki&amp;gt; &lt;span class=&quot;autocomment&quot;&gt;global jQuery, mediaWiki, mw, gs, gswiki, moment, ga: &lt;/span&gt; &amp;#039;use strict&amp;#039;;  ;(function($, mw, gs){ 	var portletLink, 		$popup, 		$arrow, 		$content, 		$list, 		news_it...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;//&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/*global jQuery, mediaWiki, mw, gs, gswiki, moment, ga */&lt;br /&gt;
&amp;#039;use strict&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
;(function($, mw, gs){&lt;br /&gt;
	var portletLink,&lt;br /&gt;
		$popup,&lt;br /&gt;
		$arrow,&lt;br /&gt;
		$content,&lt;br /&gt;
		$list,&lt;br /&gt;
		news_items,&lt;br /&gt;
		isopen = false,&lt;br /&gt;
		url = &amp;#039;&amp;#039;,&lt;br /&gt;
		lastUrl = &amp;#039;&amp;#039;,&lt;br /&gt;
		page = 1,&lt;br /&gt;
		lastKey = &amp;#039;gsw-gsnews-lastcheck&amp;#039;,&lt;br /&gt;
		activityKey = &amp;#039;gsw-gsnews-last&amp;#039;,&lt;br /&gt;
		standaloneClass = &amp;#039;gsw-gsnews-page&amp;#039;,&lt;br /&gt;
		currentSkin = mw.config.get(&amp;#039;skin&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
	// Site icon overrides (hosted locally)&lt;br /&gt;
	var srcicons = {&lt;br /&gt;
		twitter: { regex:/twitter\./i , icon:&amp;#039;&amp;lt;img src=&amp;quot;/images/thumb/1/1c/Twitter_news_icon.svg/240px-Twitter_news_icon.svg.png?597fa&amp;quot; alt=&amp;quot;Twitter logo&amp;quot;&amp;gt;&amp;#039; },&lt;br /&gt;
		reddit: { regex:/reddit\./i , icon:&amp;#039;&amp;lt;img src=&amp;quot;/images/thumb/6/68/Reddit_news_icon.svg/240px-Reddit_news_icon.svg.png?597fa&amp;quot; alt=&amp;quot;Reddit logo&amp;quot;&amp;gt;&amp;#039; },&lt;br /&gt;
		gswiki: { regex:/gem\.wiki/i , icon:&amp;#039;&amp;lt;img src=&amp;quot;/images/2/21/gsw_news_icon.png?3591e&amp;quot; alt=&amp;quot;Gemini Station wiki logo&amp;quot;&amp;gt;&amp;#039; },&lt;br /&gt;
		discord: { regex:/discordapp\./i , icon:&amp;#039;&amp;lt;img src=&amp;quot;/images/thumb/b/b2/Discord_news_icon.svg/210px-Discord_news_icon.svg.png?6438d&amp;quot; alt=&amp;quot;Discord logo&amp;quot;&amp;gt;&amp;#039; },&lt;br /&gt;
	};&lt;br /&gt;
	// Allow images from&lt;br /&gt;
	var hasimg = {&lt;br /&gt;
		twitter: true,&lt;br /&gt;
		reddit: true,&lt;br /&gt;
		gswiki: true,&lt;br /&gt;
		discord: false,&lt;br /&gt;
		unknown: true&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
	function hasLocalStorage () {&lt;br /&gt;
		// because gsw-util for some reason doesn&amp;#039;t work here&lt;br /&gt;
	    try {&lt;br /&gt;
	      localStorage.setItem(&amp;#039;test&amp;#039;, &amp;#039;test&amp;#039;)&lt;br /&gt;
	      localStorage.removeItem(&amp;#039;test&amp;#039;)&lt;br /&gt;
	      return true&lt;br /&gt;
	    } catch (e) {&lt;br /&gt;
	      return false&lt;br /&gt;
	    }&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function init() {&lt;br /&gt;
		$content = $(&amp;#039;&amp;lt;div&amp;gt;&amp;#039;).addClass(&amp;#039;gsw-rsnews-content&amp;#039;);&lt;br /&gt;
		$list = $(&amp;#039;&amp;lt;ul&amp;gt;&amp;#039;).addClass(&amp;#039;news-list&amp;#039;);&lt;br /&gt;
		&lt;br /&gt;
		if (currentSkin !== &amp;#039;minerva&amp;#039;) { // AKA we&amp;#039;re not on mobile&lt;br /&gt;
			portletLink = mw.util.addPortletLink(&lt;br /&gt;
				&amp;#039;p-personal&amp;#039;,&lt;br /&gt;
				&amp;#039;&amp;#039;,&lt;br /&gt;
				&amp;#039;&amp;#039;,&lt;br /&gt;
				&amp;#039;pt-rsnews&amp;#039;,&lt;br /&gt;
				&amp;#039;Gemini Staion News&amp;#039;,&lt;br /&gt;
				null,&lt;br /&gt;
				$(&amp;#039;#pt-userpage, #pt-anonuserpage&amp;#039;)&lt;br /&gt;
			);&lt;br /&gt;
		&lt;br /&gt;
			$(portletLink).find(&amp;#039;a&amp;#039;).addClass(&amp;#039;oo-ui-icon-feedback&amp;#039;).click(function(e) {&lt;br /&gt;
				e.preventDefault();&lt;br /&gt;
				mw.log(&amp;#039;Open/Close RS news&amp;#039;);&lt;br /&gt;
	&lt;br /&gt;
				if (isopen) {&lt;br /&gt;
					$popup.hide();&lt;br /&gt;
					isopen = false;&lt;br /&gt;
				} else {&lt;br /&gt;
					// Google analytics tracker&lt;br /&gt;
					if (typeof ga === &amp;#039;function&amp;#039;) {&lt;br /&gt;
						ga(&amp;#039;gtag_UA_126479006_1.send&amp;#039;, &amp;#039;event&amp;#039;, &amp;#039;Gadget-rsnews&amp;#039;, &amp;#039;Open&amp;#039;, &amp;#039;Normal&amp;#039;);&lt;br /&gt;
					}&lt;br /&gt;
					&lt;br /&gt;
					handleInitialLoad(false);&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
	&lt;br /&gt;
			$arrow = $(&amp;#039;&amp;lt;div&amp;gt;&amp;#039;).addClass(&amp;#039;gsw-rsnews-arrow&amp;#039;);&lt;br /&gt;
			$popup = $(&amp;#039;&amp;lt;div&amp;gt;&amp;#039;).addClass(&amp;#039;gsw-rsnews&amp;#039;).css({&lt;br /&gt;
				&amp;#039;max-width&amp;#039;: &amp;#039;500px&amp;#039;&lt;br /&gt;
			}).append(&lt;br /&gt;
				$arrow,&lt;br /&gt;
				$(&amp;#039;&amp;lt;h2&amp;gt;&amp;#039;).html(&amp;#039;Latest Gemini Station News&amp;#039;),&lt;br /&gt;
				$(&amp;#039;&amp;lt;div&amp;gt;&amp;#039;).addClass(&amp;#039;gsw-rsnews-help&amp;#039;).html(&amp;#039;Curated by trusted community members. &amp;lt;a href=&amp;quot;/w/Help:Gadget-rsnews&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;Learn more&amp;lt;/a&amp;gt;. View this feed &amp;lt;a href=&amp;quot;/w/GSWiki:News&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;on a page&amp;lt;/a&amp;gt;.&amp;#039;),&lt;br /&gt;
				$content&lt;br /&gt;
			);&lt;br /&gt;
	&lt;br /&gt;
			$(&amp;#039;body&amp;#039;).append($popup);&lt;br /&gt;
			$popup.hide();&lt;br /&gt;
	&lt;br /&gt;
			// Reposition popup on window resize&lt;br /&gt;
			$(window).resize(resizeEvent);&lt;br /&gt;
	&lt;br /&gt;
			// Close popup when anywhere else is clicked&lt;br /&gt;
			$(document).click(function(e) {&lt;br /&gt;
				if (isopen &amp;amp;&amp;amp; !$(e.target).closest(&amp;#039;.gsw-rsnews&amp;#039;).length) {&lt;br /&gt;
					$popup.hide();&lt;br /&gt;
					isopen = false;&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
	&lt;br /&gt;
			// Check for new news items periodically (updates counter)&lt;br /&gt;
			checkNew();&lt;br /&gt;
			// setInterval(checkNew, 300000); lets not cause 12million hits a day.&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		// If we&amp;#039;re on the standalone page, we should show the feed there&lt;br /&gt;
		if ($(&amp;#039;.&amp;#039; + standaloneClass).length) {&lt;br /&gt;
			$(&amp;#039;.&amp;#039; + standaloneClass).addClass(&amp;#039;gsw-rsnews&amp;#039;).html($content);&lt;br /&gt;
			&lt;br /&gt;
			// change the click handler on the portlet link because&lt;br /&gt;
			// nobody needs to use this and it might cause bugs&lt;br /&gt;
			if (portletLink !== undefined) {&lt;br /&gt;
				$(portletLink).find(&amp;#039;a&amp;#039;).off(&amp;#039;click&amp;#039;).click(function(e) {&lt;br /&gt;
					e.preventDefault();&lt;br /&gt;
					mw.notify( &amp;#039;You are on the standalone page for the feed already. You do not need to open this popup.&amp;#039;, { tag: &amp;#039;rsnews&amp;#039; } );&lt;br /&gt;
				})	&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			handleInitialLoad(true);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	function handleInitialLoad (standalone) {&lt;br /&gt;
		mw.loader.using([&amp;#039;moment&amp;#039;], function () {&lt;br /&gt;
			$.ajax({&lt;br /&gt;
				dataType: &amp;#039;json&amp;#039;,&lt;br /&gt;
				url: url,&lt;br /&gt;
				headers: { &amp;#039;Cache-Control&amp;#039;: &amp;#039;max-age=0&amp;#039; },&lt;br /&gt;
				error: function (jqXHR, status, error) {&lt;br /&gt;
					openError(jqXHR, status, error, standalone);&lt;br /&gt;
				},&lt;br /&gt;
				success: function (newsjson) {&lt;br /&gt;
					mw.log(&amp;#039;Success getting news items&amp;#039;);&lt;br /&gt;
					mw.log(newsjson);&lt;br /&gt;
					if ( !(newsjson.data &amp;amp;&amp;amp; newsjson.data[0]) ) {&lt;br /&gt;
						openError({}, &amp;#039;Missing news items&amp;#039;, &amp;#039;returned json contained no data, or has an unrecognised structure&amp;#039;);&lt;br /&gt;
						return;&lt;br /&gt;
					}&lt;br /&gt;
			&lt;br /&gt;
					news_items = null; // items should be cleared when opening the popup&lt;br /&gt;
					page = 1;&lt;br /&gt;
					$content.empty();&lt;br /&gt;
					$list.empty();&lt;br /&gt;
					addItems(newsjson, true);&lt;br /&gt;
					$content.append($list);&lt;br /&gt;
					updateLastActivity(newsjson);&lt;br /&gt;
					&lt;br /&gt;
					if (!standalone) {&lt;br /&gt;
						openPopup();&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Open popup, add news items&lt;br /&gt;
	 * @return {undefined}&lt;br /&gt;
	 */&lt;br /&gt;
	function openPopup(newsjson, status, jqXHR) {&lt;br /&gt;
		isopen = true;&lt;br /&gt;
		resizeEvent();&lt;br /&gt;
		$popup.show();&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	function setLoading () {&lt;br /&gt;
		mw.log(&amp;#039;Setting RSNews as loading&amp;#039;);&lt;br /&gt;
		$(&amp;#039;.gsw-rsnews-content&amp;#039;).addClass(&amp;#039;gsw-social-loading&amp;#039;);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	function setLoadingDone () {&lt;br /&gt;
		mw.log(&amp;#039;Setting RSNews as loading done&amp;#039;);&lt;br /&gt;
		$(&amp;#039;.gsw-rsnews-content&amp;#039;).removeClass(&amp;#039;gsw-social-loading&amp;#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Add items to list&lt;br /&gt;
	 * @return {undefined}&lt;br /&gt;
	 */&lt;br /&gt;
	function addItems(newsjson, checkActivity) {&lt;br /&gt;
		// Google analytics tracker&lt;br /&gt;
		function trackClick( e ) {&lt;br /&gt;
			if (typeof ga === &amp;#039;function&amp;#039;) {&lt;br /&gt;
				ga(&amp;#039;gtag_UA_126479006_1.send&amp;#039;, &amp;#039;event&amp;#039;, &amp;#039;Gadget-rsnews&amp;#039;, &amp;#039;Open link&amp;#039;, e.data.type);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if (checkActivity) {&lt;br /&gt;
			doActivityCheck(newsjson)&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var newestdate = moment(0);&lt;br /&gt;
		newsjson.data.forEach(function (item) {&lt;br /&gt;
			mw.log(item);&lt;br /&gt;
			var dateAdded = moment(item.dateAdded);&lt;br /&gt;
&lt;br /&gt;
			if (!news_items || dateAdded.isAfter(news_items[0].date, &amp;#039;seconds&amp;#039;) || dateAdded.isBefore(news_items[news_items.length-1].date, &amp;#039;seconds&amp;#039;) ) {&lt;br /&gt;
				var ltype = &amp;#039;unknown&amp;#039;,&lt;br /&gt;
					$icon,$time,$img,$item,&lt;br /&gt;
					excerpt = item.excerpt || &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
				// Check link type&lt;br /&gt;
				for (const t in srcicons) {&lt;br /&gt;
					if (srcicons[t].regex.test(item.url)) {&lt;br /&gt;
						ltype = t;&lt;br /&gt;
						$icon = $(srcicons[t].icon);&lt;br /&gt;
						break;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
				mw.log(item.url);&lt;br /&gt;
				mw.log(ltype);&lt;br /&gt;
&lt;br /&gt;
				// Icon image&lt;br /&gt;
				if (!$icon &amp;amp;&amp;amp; item.icon) {&lt;br /&gt;
					$icon = $(&amp;#039;&amp;lt;img&amp;gt;&amp;#039;).attr({&lt;br /&gt;
						src: item.icon,&lt;br /&gt;
						alt: &amp;#039;website icon&amp;#039;&lt;br /&gt;
					});&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				// Post date/time&lt;br /&gt;
				if (item.dateAdded) {&lt;br /&gt;
					var pdate = moment(item.dateAdded);&lt;br /&gt;
					$time = $(&amp;#039;&amp;lt;time&amp;gt;&amp;#039;).addClass(&amp;#039;news-date&amp;#039;).attr({&lt;br /&gt;
						&amp;#039;datetime&amp;#039;: pdate.format(),&lt;br /&gt;
						&amp;#039;title&amp;#039;: pdate.local().format(&amp;#039;lll&amp;#039;)&lt;br /&gt;
					}).text( pdate.calendar(null, { sameDay: function(){return &amp;#039;[&amp;#039;+this.fromNow()+&amp;#039;]&amp;#039;;} }) );&lt;br /&gt;
				} else {&lt;br /&gt;
					$time = $(&amp;#039;&amp;lt;span&amp;gt;&amp;#039;).addClass(&amp;#039;news-date&amp;#039;).attr({ title:&amp;#039;Unknown date-time&amp;#039; }).text(&amp;#039;&amp;#039;);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				// Limit excerpt length, add ...&lt;br /&gt;
				if (excerpt.length &amp;gt; 300) {&lt;br /&gt;
					excerpt = excerpt.slice(0,300) + &amp;#039;&amp;lt;b&amp;gt; ...&amp;lt;/b&amp;gt;&amp;#039;;&lt;br /&gt;
				}&lt;br /&gt;
				&lt;br /&gt;
				excerpt = excerpt.replace(/(https?:\/\/(?:.+\.)?t\.co\/[a-zA-Z0-9_]+)/g, &amp;#039;&amp;#039;) // remove t.co links&lt;br /&gt;
				excerpt = excerpt.replace(/\s+/g, &amp;#039; &amp;#039;).trim(); // remove extra whitespace and trim&lt;br /&gt;
&lt;br /&gt;
				// Item jquery element&lt;br /&gt;
				$item = $(&amp;#039;&amp;lt;li&amp;gt;&amp;#039;).append(&lt;br /&gt;
					$(&amp;#039;&amp;lt;a&amp;gt;&amp;#039;).addClass(&amp;#039;news-item&amp;#039;).attr({&lt;br /&gt;
						title: item.title,&lt;br /&gt;
						href: item.url,&lt;br /&gt;
						target: &amp;#039;_blank&amp;#039;&lt;br /&gt;
					}).append(&lt;br /&gt;
						$icon.addClass(&amp;#039;news-icon&amp;#039;),&lt;br /&gt;
						$(&amp;#039;&amp;lt;span&amp;gt;&amp;#039;).addClass(&amp;#039;news-title&amp;#039;).text(item.title),&lt;br /&gt;
						$time,&lt;br /&gt;
						$(&amp;#039;&amp;lt;br&amp;gt;&amp;#039;),&lt;br /&gt;
						$(&amp;#039;&amp;lt;span&amp;gt;&amp;#039;).addClass(&amp;#039;news-snippet&amp;#039;).html(excerpt)&lt;br /&gt;
					)&lt;br /&gt;
				);&lt;br /&gt;
&lt;br /&gt;
				// Post image&lt;br /&gt;
				if (hasimg[ltype] &amp;amp;&amp;amp; item.image) {&lt;br /&gt;
					$item.find(&amp;#039;.news-snippet&amp;#039;).prepend(&lt;br /&gt;
						$(&amp;#039;&amp;lt;img&amp;gt;&amp;#039;).addClass(&amp;#039;news-image&amp;#039;).attr({ src: item.image, alt: &amp;#039;article image&amp;#039; })&lt;br /&gt;
					);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				if ( !news_items ) {&lt;br /&gt;
					// No news items&lt;br /&gt;
					news_items = [ {&lt;br /&gt;
						id: item.id,&lt;br /&gt;
						type: ltype,&lt;br /&gt;
						date: dateAdded,&lt;br /&gt;
						$element: $item&lt;br /&gt;
					} ];&lt;br /&gt;
				} else if ( dateAdded.isAfter(news_items[0].date, &amp;#039;seconds&amp;#039;) ) {&lt;br /&gt;
					// Newer than last post&lt;br /&gt;
					news_items.unshift({&lt;br /&gt;
						id: item.id,&lt;br /&gt;
						date: dateAdded,&lt;br /&gt;
						$element: $item&lt;br /&gt;
					});&lt;br /&gt;
				} else {&lt;br /&gt;
					// Older than last post&lt;br /&gt;
					news_items.push({&lt;br /&gt;
						id: item.id,&lt;br /&gt;
						date: dateAdded,&lt;br /&gt;
						$element: $item&lt;br /&gt;
					});&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		mw.log(news_items);&lt;br /&gt;
&lt;br /&gt;
		// Generate visible list&lt;br /&gt;
		$list.empty();&lt;br /&gt;
		news_items.forEach(function (item) {&lt;br /&gt;
			item.$element.find(&amp;#039;a.news-item&amp;#039;).click({type:item.type, id:item.id}, trackClick);&lt;br /&gt;
			$list.append( item.$element );&lt;br /&gt;
		});&lt;br /&gt;
		&lt;br /&gt;
		// Refresh and show more buttons&lt;br /&gt;
		if (newsjson.pagination &amp;amp;&amp;amp; newsjson.pagination.has_more) {&lt;br /&gt;
			$list.append($(&amp;#039;&amp;lt;li&amp;gt;&amp;#039;).addClass(&amp;#039;news-refresh news-more&amp;#039;).append(&lt;br /&gt;
				$(&amp;#039;&amp;lt;button&amp;gt;&amp;#039;)&lt;br /&gt;
					.addClass(&amp;#039;news-more-button&amp;#039;)&lt;br /&gt;
					.attr({ type:&amp;#039;button&amp;#039; })&lt;br /&gt;
					.text(&amp;#039;Show more&amp;#039;)&lt;br /&gt;
					.click(function () {&lt;br /&gt;
						page ++;&lt;br /&gt;
						$.ajax({&lt;br /&gt;
							dataType: &amp;#039;json&amp;#039;,&lt;br /&gt;
							url: url + &amp;#039;?page=&amp;#039; + page,&lt;br /&gt;
							headers: { &amp;#039;Cache-Control&amp;#039;: &amp;#039;max-age=0&amp;#039; },&lt;br /&gt;
							error: openError,&lt;br /&gt;
							success: showMore&lt;br /&gt;
						});&lt;br /&gt;
					})&lt;br /&gt;
			));&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		setLoadingDone();&lt;br /&gt;
		&lt;br /&gt;
		// Update latest check time&lt;br /&gt;
		if (hasLocalStorage()) {&lt;br /&gt;
			try {&lt;br /&gt;
				localStorage.setItem(lastKey, moment().format());&lt;br /&gt;
			} catch (err) {&lt;br /&gt;
				console.warn(&amp;#039;Error saving last check to localStorage&amp;#039;);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Open popup, show error&lt;br /&gt;
	 * @return {undefined}&lt;br /&gt;
	 */&lt;br /&gt;
	function openError (jqXHR, status, error, standalone) {&lt;br /&gt;
		console.warn(&amp;#039;Error loading news:\n&amp;#039; + status + &amp;#039;: &amp;#039; + error);&lt;br /&gt;
		&lt;br /&gt;
		$content.empty();&lt;br /&gt;
		$content.append(&lt;br /&gt;
			$(&amp;#039;&amp;lt;p&amp;gt;&amp;#039;)&lt;br /&gt;
				.addClass(&amp;#039;news-error&amp;#039;)&lt;br /&gt;
				.html(&amp;#039;Error loading news:&amp;lt;br&amp;gt;Status: &amp;#039; + status + &amp;#039;&amp;lt;br&amp;gt;Error msg: &amp;#039; + error)&lt;br /&gt;
		);		&lt;br /&gt;
		&lt;br /&gt;
		if (!standalone) {&lt;br /&gt;
			isopen = true;&lt;br /&gt;
			resizeEvent();&lt;br /&gt;
			$popup.show();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Show more news items&lt;br /&gt;
	 * @return {undefined}&lt;br /&gt;
	 */&lt;br /&gt;
	function showMore(newsjson, status, jqXHR) {&lt;br /&gt;
		$content.find(&amp;#039;li.news-refresh&amp;#039;).remove();&lt;br /&gt;
		&lt;br /&gt;
		setLoading();&lt;br /&gt;
&lt;br /&gt;
		mw.log(&amp;#039;Success getting more news items&amp;#039;);&lt;br /&gt;
		mw.log(newsjson);&lt;br /&gt;
		if ( !(newsjson.data &amp;amp;&amp;amp; newsjson.data[0]) ) {&lt;br /&gt;
			console.warn(&amp;#039;No news items: returned json contained no data, or has an unrecognised structure&amp;#039;);&lt;br /&gt;
			setLoadingDone();&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		addItems(newsjson, false);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function doActivityCheck(newsjson) {&lt;br /&gt;
		var lastItem;&lt;br /&gt;
		&lt;br /&gt;
		try {&lt;br /&gt;
			lastItem = localStorage.getItem(activityKey);&lt;br /&gt;
		} catch (err) {&lt;br /&gt;
			console.warn(&amp;#039;Error loading last item from localStorage&amp;#039;);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		var itemId = null&lt;br /&gt;
		&lt;br /&gt;
		if (typeof newsjson === &amp;#039;object&amp;#039;) {&lt;br /&gt;
			itemId = newsjson.id&lt;br /&gt;
		} else {&lt;br /&gt;
			itemId = newsjson.data[0].id&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if (itemId !== parseInt(lastItem)) {&lt;br /&gt;
			$(portletLink).find(&amp;#039;a.oo-ui-icon-feedback&amp;#039;)&lt;br /&gt;
				.addClass(&amp;#039;gsw-rsnews-hasunread&amp;#039;)&lt;br /&gt;
		} else {&lt;br /&gt;
			$(portletLink).find(&amp;#039;a.oo-ui-icon-feedback&amp;#039;)&lt;br /&gt;
				.removeClass(&amp;#039;gsw-rsnews-hasunread&amp;#039;)&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	function updateLastActivity(newsjson) {&lt;br /&gt;
		// save new id&lt;br /&gt;
		try {&lt;br /&gt;
			localStorage.setItem(activityKey, newsjson.data[0].id);&lt;br /&gt;
		} catch (err) {&lt;br /&gt;
			console.warn(&amp;#039;Error saving last activity to localStorage&amp;#039;);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Checks for new items&lt;br /&gt;
	 * @return {undefined}&lt;br /&gt;
	 */&lt;br /&gt;
	function checkNew() {&lt;br /&gt;
		var last = &amp;#039;0&amp;#039;;&lt;br /&gt;
		if (hasLocalStorage()) {&lt;br /&gt;
			try {&lt;br /&gt;
				last = localStorage.getItem(lastKey);&lt;br /&gt;
			} catch (err) {&lt;br /&gt;
				console.warn(&amp;#039;Error loading last check from localStorage&amp;#039;);&lt;br /&gt;
				last = &amp;#039;0&amp;#039;;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		var checkRead = function (newsjson, status, jqXHR) {&lt;br /&gt;
			doActivityCheck(newsjson);&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		$.ajax({&lt;br /&gt;
			dataType: &amp;#039;json&amp;#039;,&lt;br /&gt;
			url: lastUrl,&lt;br /&gt;
			headers: { &amp;#039;Cache-Control&amp;#039;: &amp;#039;max-age=0&amp;#039; },&lt;br /&gt;
			error: console.warn,&lt;br /&gt;
			success: checkRead&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Move popup to correct position&lt;br /&gt;
	 * @return {undefined}&lt;br /&gt;
	 */&lt;br /&gt;
	function resizeEvent() {&lt;br /&gt;
		if (!isopen) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var offset = $(portletLink).offset(),&lt;br /&gt;
			height = $(portletLink).outerHeight(),&lt;br /&gt;
			width = $(portletLink).outerWidth(),&lt;br /&gt;
			pwidth = $popup.outerWidth(),&lt;br /&gt;
			wheight = $(window).height(),&lt;br /&gt;
			ptop = offset.top + height + 15;&lt;br /&gt;
&lt;br /&gt;
		$popup.css({&lt;br /&gt;
			top: ptop + &amp;#039;px&amp;#039;,&lt;br /&gt;
			left: (offset.left + width/2 - pwidth/2) + &amp;#039;px&amp;#039;,&lt;br /&gt;
			&amp;#039;max-height&amp;#039;: (wheight - ptop - 7) + &amp;#039;px&amp;#039;&lt;br /&gt;
		});&lt;br /&gt;
		$arrow.css({&lt;br /&gt;
			left: (pwidth/2 - 10) + &amp;#039;px&amp;#039;&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	mw.loader.using([&amp;#039;ext.gadget.gsw-util&amp;#039;, &amp;#039;mediawiki.util&amp;#039;], function () {&lt;br /&gt;
		$(init);&lt;br /&gt;
	});&lt;br /&gt;
}(jQuery, mediaWiki, gswiki));&lt;br /&gt;
//&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Banri</name></author>
	</entry>
</feed>