User:Espyo/Pikan: Difference between revisions

m
no edit summary
No edit summary
mNo edit summary
 
(22 intermediate revisions by 3 users not shown)
Line 7: Line 7:


==Source==
==Source==
{{see|User:Espyo/pikan-core.js}}
{{see|MediaWiki:Gadget-Pikan-core.js}}
{{see|User:Espyo/pikan-pikipedia.js}}
{{see|MediaWiki:Gadget-Pikan-pikipedia.js}}


==Analyzing==
==Analyzing==
Line 15: Line 15:


*'''Problem''': General problem; something bad on the page that you should really fix.
*'''Problem''': General problem; something bad on the page that you should really fix.
*'''Policy''': A problem that contradicts Pikipedia's policy, explicit or implied (i.e. either a policy on the [[Pikipedia:Policy|policy]] pages, or a "common sense" policy, like "Pikmin" with a lowercase p).
*'''Policy''': A problem that contradicts Pikipedia's policy, explicit or implied (i.e. either a policy on the [[Pikipedia:Policies and guidelines|policy]] pages, or a "common sense" policy, like "Pikmin" with a lowercase p).
*'''Question''': The analyzer found something, but it can't tell for sure if the match is a problem or not. It's up to you to decide what to do, even if that means ignoring the analyzer's result.
*'''Question''': The analyzer found something, but it can't tell for sure if the match is a problem or not. It's up to you to decide what to do, even if that means ignoring the analyzer's result.
*'''Style''': Problems that won't affect the reader, but that should still be fixed to make sure the analyzer runs well, and that future editors will have a nice clean editing experience.
*'''Style''': Problems that won't affect the reader, but that should still be fixed to make sure the analyzer runs well, and that future editors will have a nice clean editing experience.
Line 40: Line 40:
* Finds ''Pikmin'' area names without the "The" (and capitalized as such).
* Finds ''Pikmin'' area names without the "The" (and capitalized as such).
* Finds references that aren't using {{tem|refs}}.
* Finds references that aren't using {{tem|refs}}.
* Finds links to Wikipedia that aren't using {{tem|w}}.
* Finds missing "see also" sections.
* Finds missing "see also" sections.
* Finds "strategy" and "external links" sections with bad names.
* Finds "strategy" and "external links" sections with bad names.
Line 83: Line 84:


===Changelog===
===Changelog===
Small bug fixes, typos, etc. will not be counted for here.
Small bug fixes, typos, etc. will not be counted for here. If there was an update recently and you cannot see the changes on your end, try refreshing the page while bypassing the cache (usually you do this by pressing Ctrl+F5).


====Pre-split====
====Pre-split====
Line 96: Line 97:


====Post-split core====
====Post-split core====
''No new versions since the split.''
*2.1.0 ({{date|23|November|2015}}):
**Added the script's core and module version to the help tooltip (the [?] next to the scan button).
*2.2.0 ({{date|30|January|2017}}):
**Fixed Pikan not working randomly if the advanced editor is enabled.


====Post-split Pikipedia module====
====Post-split Pikipedia module====
*2.1.0 ({{date|10|September|2015}}):
*1.1.0 ({{date|10|September|2015}}):
**Made it find "Poko" starting with a lowercase P.
**Made it find "Poko" starting with a lowercase P.
*1.2.0 ({{date|23|November|2015}}):
**Corrected the help URL, and specified the module's version and name.
*1.3.0 ({{date|28|January|2016}}):
**Made it find Wikipedia links that aren't using {{tem|w}}.
*1.4.0 ({{date|12|February|2017}}):
**Updated policy and guideline links.
*1.5.0 ({{date|12|June|2018}}):
**Added {{ssbu}}.
*1.6.0 ({{date|27|October|2018}}):
**Corrected instances of "for 3DS" to "for Nintendo 3DS", when referring to the fourth ''Super Smash Bros.'' game.
*1.7.0 ({{date|24|June|2020}}):
**Corrected the rule that says gallery images should have captions ending in periods, since it was not recognizing galleries with properties.
*1.8.0 ({{date|27|October|2021}}):
**Added {{pb}}.
*1.9.0 ({{date|13|September|2022}}):
**Added {{p4}}.
*1.10.0 ({{date|29|July|2023}}):
**Made it find misspellings of [[Shepherd]].
**Made it find links to [[Piklopedia]].
**Improvements to the way it detects if there is an image in the article.
**Improvements to the way it detects "you" outside of quotes and transcripts.
*1.11.0 ({{date|26|August|2023}}):
**Made the {{game icons}} check not trigger if there's an infobox.
**Made the trailing space check not trigger if it's a template placeholder parameter.


===Future===
===Future===
;Known problems:
;Known problems:
None at the moment.
* The script detects things like "you" inside of quotes, when it shouldn't.


;Future plans:
;Future plans:
*Make it suggest spreading out large templates with one argument per line, plus align the templates with spaces for padding.
* Make it suggest spreading out large templates with one argument per line, plus align the templates with spaces for padding.
*Make it not recommend empty line paddings before section headers if there is a {{tem|clear}}.
* Make it not recommend empty line paddings before section headers if there is a {{tem|clear}}.


==Outside use==
==Outside use==
I also made Pikan with flexibility in mind. If you want to add the script to your wiki, follow these steps:
I also made Pikan with flexibility in mind. If you want to add the script to your wiki, follow these steps:


* Create your own copy of [[User:Espyo/pikan-pikipedia.js|pikan-pikipedia.js]] (naming it whatever you want).
* Create your own copy of [[MediaWiki:Gadget-Pikan-pikipedia.js|Gadget-Pikan-pikipedia.js]] (naming it whatever you want).
* Change <code>pikan.url</code> to point to your wiki. This is used for the "[More info]" links.
* Change the first few parameters to match your wiki (e.g. wiki_url, module_name, etc.).
* Edit pikan.find_problems to your suiting.
* Edit pikan.find_problems to your suiting.
** To find a simple problem with regex, do it like this:
** To find a simple problem with regex, do it like this:
Line 121: Line 149:
::* You can add one more parameter to regex_check. This is a function that takes one regex match, and returns false if this match doesn't apply to match the problem with.
::* You can add one more parameter to regex_check. This is a function that takes one regex match, and returns false if this match doesn't apply to match the problem with.
:* To create your own code to find a problem, you can add the problem to the list with pikan.save_problem. Check the function in the code for a documentation comment explaining it.
:* To create your own code to find a problem, you can add the problem to the list with pikan.save_problem. Check the function in the code for a documentation comment explaining it.
:* There are more helper functions in the code. I documented all of them. At the end, you'll find code that's more or less Pikipedia-specific, so you can probably delete that.
:* There are more helper functions in the code. I documented all of them. Use those as well, if needed.
* On your wiki's MediaWiki:Common.js, import Pikan like so: <code>importScriptURI('//www.pikminwiki.com/index.php?title=User:Espyo/pikan-core.js&action=raw&ctype=text/javascript');</code>
* If your wiki has the [[mw:Extension:Gadgets|Gadgets extension]] installed, then add an entry for Pikan to your MediaWiki:Gadgets-definition page:
* After that line, add a similar import, but pointing to your own version of pikan-pikipedia.js (again, named whatever it is you wanted).
<pre>* Pikan[ResourceLoader|default|actions=edit]|Pikan-core.js|Pikan-website.js</pre>
And create your own version of [[MediaWiki:Gadget-Pikan-core.js]] by copying its contents or adding just the following line:
<pre>mw.loader.load('https://www.pikminwiki.com/MediaWiki:Gadget-Pikan-core.js?action=raw&ctype=text/javascript');</pre>
* If your wiki doesn't have the Gadgets extension, then on your wiki's MediaWiki:Common.js, import Pikan like so:
<pre>if (mw.config.get('wgAction') === 'edit' || mw.config.get('wgAction') === 'submit') {
  mw.loader.getScript('https://www.pikminwiki.com/MediaWiki:Gadget-Pikan-core.js?action=raw&ctype=text/javascript').then(
    function() {
      mw.loader.load('//your.wiki/url/MediaWiki:Gadget-Pikan-website.js?action=raw&ctype=text/javascript');
    }
  );
}</pre>
Update the second URL to point to the raw source of your own version of Gadget-Pikan-pikipedia.js (again, named whatever it is you wanted).


==FAQ==
==FAQ==
;Why do I have to press search again every time I make a change?
;Why do I have to press search again every time I make a change?
:Because the positions of the old problem matches will be changed when you edit, and there's no reasonable way to keep track of them as you add and delete text.
:Because the positions of the old problem matches will be changed when you edit, and there's no reasonable way to keep track of them as you add and delete text.
;Why can't I see the scan button, or why am I using an older version?
:Pikan should update automatically, but you might be on a cached version of the page that's using old versions of the scripts. You can refresh and skip the cache (normally by pressing Ctrl+F5), or you can add "&debug=true" to the end of the page's URL.