Fandom Developers Wiki
Fandom Developers Wiki



Hi, welcome to Wikia Developers Wiki! Thanks for your edit to the List of Bot frameworks page.

Please leave a message on my talk page if I can help with anything! -- Uberfuzzy (Talk) 14:41, September 23, 2009


Hi, I'm a spanish user of Wikia. Dev wiki has a lot of functions, but all they are English. I want to traslate the functions to the spanish. Can I do it here?.--Ivancillo SP.png 15:18, March 29, 2010 (UTC)


Hi, I have been having some issues with the fastdelete tool as on talk pages as it is adding a line think this could be corrected? also the buttom is not showing on the user, user talk, blog and category namespaces. Aside from that when editing it does not appear. --Cizagna (Discusión) • HelperCentral hispana 04:32, 06 November 2010 (UTC)

Brought from User_talk:Cizagna#RE: fastdeleteHi. I've moved the buttons on talk pages so they don't cause a line break, and I've added them on user, user talk, blog and category. As for when editing pages, the issue is, the code checks if there is a delete button on the page already to make sure the user is allowed to delete, and currently there are no delete buttons in the edit view. Adding them there would mean people would have delete buttons appearing when editing on wikis where they do not have the rights to delete, so it would be adding functionality which they may not expect/like. I could create a second code page for staff/helper/vstf and those who don't mind having delete buttons on every wiki regardless that puts the fast delete buttons while editing and on diff pages as well. Let me know if you think any of the buttons would be better placed elsewhere :). Cheers, Grunny (talk) 10:10, November 6, 2010 (UTC)

End of Quote User_talk:Cizagna#RE: fastdelete

Awsome, I saw your changes and thought maybe you could use a switch that would save a couple of bytes. Also I think you could simplify all those repetitive links codes into a variable. If I did properly my code, it should look like this:

afd = '<a class="wikia-button" href="/index.php?title=' + encodeURIComponent(wgPageName) + '&action=delete&submitdelete=true&wpReason=' + encodeURIComponent(fdButtons[i].summary) + '" title="one-click delete: ' + fdButtons[i].summary+'" data-id="delete">'+ fdButtons[i].label + '</a>'
Switch (wgNamespaceNumber) {
	case '1':
	case '5':
	case '7':
	case '9':
	case '11':
	case '13':
	case '14':
	case '15':
	case '111':
	case '401':
		$('header.WikiaPageHeader > h2').before(afd);
	case '2':
	case '3':
		$('div.WikiaUserPagesHeader > ul.wikia-avatar').after(afd);
	case '500':
	case '502':
		$('div.WikiaUserPagesHeader > h1').after(afd);
		$('header.WikiaPageHeader > details').before(afd);

Hope this helps, thank you very much --Cizagna (Discusión) • HelperCentral hispana 20:29, 06 November 2010 (UTC)

Good idea. I've implemented this :). Cheers, Grunny (talk) 01:03, November 7, 2010 (UTC)

Oasis Toolbar Buttons

Thanks for fixing that, it isn't a huge problem but it can really confuse people. :) --Anon talk 00:18, January 4, 2011 (UTC)

Thanks for taking care of this while I was away :) -- Porter21 (talk) 19:34, January 11, 2011 (UTC)
No problem :). Grunny (talk) 07:57, January 12, 2011 (UTC)


Hi Grunny, since you were able to fix The auto refresh last time i was wondering if you could find out why its not compatible with recent chanes on wikis that use the admin dashboard. Thanks, Kangaroopowah -Briefing Room 05:00, August 1, 2011 (UTC)

I just checked, and it does work on wikis with the AdminDashboard. Can you link to a wiki where it doesn't? ~Monchoman45 (Talk | Contribs | Central) 13:56, August 8, 2011 (UTC)
Quick fix for admindashboard has been implemented as it has now been pushed sitewide. Cheers, grunny:~$ 01:04, August 5, 2011 (UTC)


What would I have to do to view AJAX RC in monobook. Thanks, Kangaroopowah -Briefing Room 19:38, August 25, 2011 (UTC)

AjaxRC should work fine in monobook. You'd just have to put the import into either your global.js or your /monobook.js on any wiki. Cheers, grunny:~$ 00:06, August 26, 2011 (UTC)
Its in my global but I dont see it in monobook. I can give you a screenshot if you want. Kangaroopowah -Briefing Room 00:08, August 26, 2011 (UTC)
Check your error console while viewing the RCs in monobook. It's possible there is JS specific to the Wikia skin that breaks in monobook. If so, you should put checks in that JS for which skin you are using. Cheers, grunny:~$ 00:12, August 26, 2011 (UTC)
It said it can't call method 'Index of' of undefined. What does that mean? Kangaroopowah -Briefing Room 00:19, August 26, 2011 (UTC)
It's likely what I said above about Wikia skin specific JS. It is happening because indexOf is being called on an object that it can't find. Cheers, grunny:~$ 00:34, August 26, 2011 (UTC)

ShowHide localization

Jrooksjr stumbled upon an issue with Dantman's i18n function when trying to add a translation for a language code with a dash in it. As you probably know, dashes are not permitted in JS variable names, so the script threw an error and ceased working. In order to fix this, I've altered the function like this:

  // Function for multi-language support (by Daniel Friesen aka User:Dantman)
  var msgUserLang = wgUserLanguage.replace(/-/g, "_");
  var msgContentLang = wgContentLanguage.replace(/-/g, "_");

  function msg(name) {
     if ( config.userLang && msgUserLang in config && name in config[msgUserLang] ) {
        return config[msgUserLang][name];
     if ( msgContentLang in config && name in config[msgContentLang] ) {
        return config[msgContentLang][name];
     return config.en[name];

I.e. it's replacing dashes with underscores in the language variables. You might know a better way to address this, but I thought I'd make you aware so the localization of ShowHide can be fixed (since I can't edit it). I'll patch up the other scripts using that function. -- Porter21 (talk) 11:33, November 23, 2011 (UTC)

It would be a lot simpler to leave it as is and when languages with a dash in them are added, they should use quotes, i.e. 'pt-br': {. In objects, keys are strings, but when they are a valid variable name, the quotes can be dropped. In this case, as it is not a valid variable name, just use quotes around it. :) Cheers, grunny:~$ 12:10, November 23, 2011 (UTC)
Right. Guess that's what you get when you work on script stuff in the early morning... :P -- Porter21 (talk) 13:48, November 23, 2011 (UTC)

Page protection

Thanks for protecting the PurgeButton and EditIntro code pages. Great idea! — SpikeToronto 04:12, February 14, 2012 (UTC)

No problem :). grunny:~$ 04:13, February 14, 2012 (UTC)

Re: New Protection Level

Sorry for the dumb question but I'm a noob: The codeeditor permission means that I will continue to be able to edit the code I added but that third parties would have to either ask me to add their patches or request the codeeditor permission from you or me? Is that correct? If so, then sign me up please! (Not that my code has high traffic - what with being brandnew and all - but better safe than sorry. :) -- Pecoes 18:14, February 24, 2012 (UTC)

Yep, basically it will mean that only people with the codeeditor permission will be able to edit it, which will be kept to only those that are maintaining code, and have demonstrated they won't break anything :P. I've given you the right and protected your code page. I hope that helps. :) Cheers, grunny:~$ 18:19, February 24, 2012 (UTC)
Thanks :) -- Pecoes 18:23, February 24, 2012 (UTC)
Just a quick comment. Could you switch the description for coeditor on Special:Listgrouprights to something more descriptive? THanks, --Kangaroopowah (Talk) 03:48, February 26, 2012 (UTC)
How about: "Edit protected JS and CSS pages"? -- Pecoes 07:09, February 26, 2012 (UTC)
Done. Cheers, grunny:~$ 10:57, February 26, 2012 (UTC)
Thanks, --Kangaroopowah (Talk) 21:26, February 26, 2012 (UTC)

Two more please:

  1. Sine/code.js
  2. FixWantedFiles/code.js

Pecoes 02:51, March 13, 2012 (UTC)

Actually, can you wait on sine. I have some config fixes I want to push. Thanks -- Kangaroopowah (Talk) 03:28, March 13, 2012 (UTC)
If you want to edit Sine you might want to wait a little. I'm currently rewriting the whole thing from scratch because it's such an ugly mess of spaghetti code. -- Pecoes 04:05, March 13, 2012 (UTC)
I've protected the WantedFiles code page, do you still want the Sine code page protected or did you want to wait a while? Cheers, grunny:~$ 14:34, March 13, 2012 (UTC)


Hi Grunny,

I recently saw you rewrote AjaxBatchDelete, which included removing the Querystring function with window.location.href.match. I was wondering if it would be possible to push those for Fastdelete. Best, --Kangaroopowah (Talk) 05:38, March 8, 2012 (UTC)

I went and changed both instead to $.getUrlVar(), which is a jQuery function loaded on all pages anyway. :) Cheers, grunny:~$ 06:43, March 8, 2012 (UTC)
According to FastDelete its still 1.5. Do you think it's ready to jump to 2.0 yet :P. Anyways, out of curiosity couldn't all the document.getElementById in fd_checkdelete be changed to the jquery shortcut $? Just curious, --Kangaroopowah (Talk) 21:03, March 10, 2012 (UTC)
I was actually gonna bump it to 2.0 when I update it to use Ajax instead of going to ?action=delete then submitting. :) As for the document.getElementById, it could but there's no real advantage in doing so. Cheers, grunny:~$ 14:11, March 11, 2012 (UTC)

JavaScript and CSS Cheatsheet

Hi Grunny!

I aggregated this little [[JS_and_CSS_Cheatsheet|cheatsheet]] which contains the things absolutely everybody who comes here needs to know. So I was wondering if you could add a link to it to the top navigation?

Pecoes 06:13, March 8, 2012 (UTC)

Done. :) grunny:~$ 06:39, March 8, 2012 (UTC)


Hi Grunny, thanks for the reply. Regarding this, I wanted to make it work on the Dead Space wiki, but before I would make any changes to the site's .js I wanted to test if it would work on my global.js first.

Since I first left that question, an other admin from the wiki applied the change to the site's .js, and it turns out that it works fine, as it should. Which leaves me buffled as to why it did not work when I was testing the change to the copy (note: copy, not import) of the script over at my global.js. Don't scripts work when they are actually in the global.js, instead of being imported?

Oh and since you asked, I was testing on both Chrome and Firefox.

One last thing if I may ask. Can you visit the Dead Space wiki on firefox and let me know if the Back To Top button appears in the site's footer? The script, which is local to the site, does not load for me on Firefox, however it loads fine on Chrome, and also loads fine on both browsers when I import it to my global.js from dev wiki. I'd like to know if it happens to all users or is it just me for some reason.

Regards! --Noemon *talk* 23:32, March 11, 2012 (UTC)

I can confirm that the JS doesn't load on Firefox (v10.0.2), but it does on Chrome (v17.0.963.79). Haven't test it out on Safari or Opera yet.— subtank (7alk) 17:32, March 12, 2012 (UTC)
I'll take a look at your wiki's JS later today and see if I can track down the issue. Cheers, grunny:~$ 01:21, March 13, 2012 (UTC)
Thanks, but just so you know, in case I can spare you the time, I think the issue is resolved. Regards :) --Noemon *talk* 01:25, March 13, 2012 (UTC)

Fastdelete ajax

I used your ajax batch delete functions to turn fd into ajax. It drops support for monaco but that's about it (oh and a little more jquery to remove addonloadhook). Can you push it if it's good?

Here's the code:

var FDeleteButtonsLoaded = true; // prevent duplication
function addFastDeleteButtons() {
	if( !window.fdButtons ) {
	switch( skin ) {
		case 'answers': /* new skin */
			if( !document.getElementById( 'qa_ca-delete' ) ) {
			for( var i = 0; i < fdButtons.length; i++ ) {
				$( '#qa_toolbox_advancedtools_wrapper' ).append( '<div id="qa_toolbox_advancedtools_delete"></div>' );
				$( '#qa_toolbox_advancedtools_delete' ).append( '<span><img src="" class="sprite delete fastdelete" /><a href="javascript:fd_delete(fdButtons[i].summary)" rel="nofollow" title="one-click delete: ' + fdButtons[i].summary + '">'+ fdButtons[i].label + '</a></span>' );
		case 'uncyclopedia': /* monobook clone, pass to monobook */
		case 'wowwiki': /* monobook clone, pass to monobook */
		case 'lostbook': /* monobook clone, pass to monobook */
		case 'monobook':
			if( !document.getElementById( 'ca-delete' ) )
			for( var i = 0; i < fdButtons.length; i++ ) {
				$( '#p-cactions > .pBody > ul' ).append( '<li id="ca-delete"><a href="javascript:fd_delete(fdButtons[i].summary)" title="one-click delete: ' + fdButtons[i].summary+'">'+ fdButtons[i].label + '</a></li>' );
		case 'oasis':
		case 'wikia':
			if( $( 'a[data-id="delete"]' ).length === 0 ) {
			for( var i = 0; i < fdButtons.length; i++ ) {
				var afd = '<a class="wikia-button" href="javascript:fd_delete(fdButtons[i].summary)" title="one-click delete: ' + fdButtons[i].summary+'" data-id="delete">'+ fdButtons[i].label + '</a>&nbsp;';
				switch( wgNamespaceNumber ) {
					case 1:
					case 5:
					case 7:
					case 9:
					case 11:
					case 13:
					case 14:
					case 15:
					case 111:
					case 401:
						$( 'header.WikiaPageHeader > h2' ).before( afd );
					case 2:
					case 3:
						if( $( '#UserProfileMasthead' ).length ) {
							$( 'div.UserProfileActionButton' ).append( afd );
						} else {
							$( 'div.WikiaUserPagesHeader > ul.wikia-avatar' ).after( afd );
					case 500:
					case 502:
						$( 'div.WikiaUserPagesHeader > h1' ).after( afd );
						$( 'header.WikiaPageHeader' ).append( afd );
if( wgNamespaceNumber != -1 && !window.FDeleteButtonsLoaded ) { $( addFastDeleteButtons ); }

function fd_delete(summary) {
	var url =  wgServer + wgScriptPath + '/api.php?action=query&prop=info&intoken=delete&titles=' + encodeURIComponent( wgPageName ) + '&format=json';
	$.getJSON( url, function( data ) {
		for ( var p in data.query.pages ) {
		var	ET = data.query.pages[p].deletetoken,
			url = wgServer + wgScriptPath + '/api.php?action=delete&title=' + encodeURIComponent( wgPageName ) + '&reason=' + encodeURIComponent( summary ) + '&format=json&token=' + encodeURIComponent( ET );
		$.post( url, function() {
			window.location = '/wiki/Main_Page'
			var message = alert('Page Deleted');
		} );
	} );

Best, -- Kangaroopowah (Talk) 02:26, March 14, 2012 (UTC)

P.S. I used javascript:fd_delete in the hrefs, but I'm not sure I coded that right. Can you check that part please? Thanks, Kangaroopowah (Talk) 02:30, March 14, 2012 (UTC)

I had actually already written an AJAX version, just hadn't posted it yet. I have now. Have a go and let me know what you think. :) Cheers, grunny:~$ 13:48, March 14, 2012 (UTC)

Thanks but can you check the JavaScript links to make sure I cod that properly for future reference? Thanks. --Kangaroopowah (Talk) 00:59, March 15, 2012 (UTC)

It's close, but the variable in the JavaScript function call needs to be wrapped in quotes and you need to concatenate it (otherwise the href would appear as javascript:fd_delete(fdButtons[i].summary) which will cause an error as it should be say javascript:fd_delete('Vandalism')), like this:
var afd = '<a class="wikia-button" href="javascript:fd_delete(\'' + encodeURIComponent( fdButtons[i].summary ) + '\')" title="one-click delete: ' + fdButtons[i].summary + '" data-id="delete">'+ fdButtons[i].label + '</a>&nbsp;';
You could also tie clicking an element with a function by binding an event handler to it, such as by using $( '#someId' ).click( function() { } );, or using the onclick parameter of a tag instead. I hope that helps. Cheers, grunny:~$ 14:34, March 15, 2012 (UTC)
So if I wished to use the onclick tag would i have to use encodeURIComponent? -- Kangaroopowah (Talk) 16:27, March 16, 2012 (UTC)
Well, you want to at least make sure you escape any ' as if the variable has one it will close the quote in the onclick="some_function('some_code')" which will cause an error. How you do that is up to you, so it depends what you're doing with the variable in the function and also what type of variable you're getting. Cheers, grunny:~$ 16:31, March 16, 2012 (UTC)

Advanced Oasis UI

Hi Grunny,

I was update Advanced Oasis UI by i18n'ning save page but the script is now broken. When I open console it tells me that the problem is an unexpected identifier on line thirty, or Save Page: "Seite speichern", in the de section of config. Can you try to fix the problem?

Thanks, -- Kangaroopowah (Talk) 04:02, March 16, 2012 (UTC)

Fixed. In objects, keys are strings, but when they are a valid variable name, the quotes can be dropped. In this case, as 'Save Page' is not a valid variable name, it either needs quotes around it or to be made a valid variable name. To match the others, I changed it to savePage. Cheers, grunny:~$ 05:00, March 16, 2012 (UTC)
Thanks! -- Kangaroopowah (Talk) 05:05, March 16, 2012 (UTC)

Js debug

Hi Grunny,

I recently made a mass rollback script on WP and I was wondering if youu could dind the mistake I made in it because it doesn't work. The code is here. Thanks, --Kangaroopowah (Talk) 17:05, March 24, 2012 (UTC)

Spoiler Alert

Hi Grunny!

Does the SpoilerAlert conflict with Wikia's policies? I'm asking because it does obstruct content. In a sense that is its purpose.. -- pecoes 15:07, March 29, 2012 (UTC)

This site is mostly maintained by Staff (i.e., Grunny). So, there would be no scripts, etc., that would be here if they contravened Wikia policy and/or the ToU. Also, the policy of not using spoiler alert notices is a Wikipedia policy, not a Wikia policy. Thanks! — SpikeToronto 17:25, March 29, 2012 (UTC)
Sorry. I completely misunderstood. I thought that the spoiler script was one that was already here on the dev wiki. I forgot that anyone can add scripts. Thanks for clearing that up Grunny. — SpikeToronto 13:17, March 30, 2012 (UTC)
Okay. Sorry for frying your brain btw -- pecoes 18:25, March 29, 2012 (UTC)
Hi Pecoes. I just checked about whether this would violate TOU. I'm assuming this blacks out the whole web page until they confirm? If so, no that can't be put for all users on a wiki. However, if you made it so it only blacked out the content area but left the rest of the site surrounding the content area intact for people viewing the page, that would be fine. @Spike we allow things here that maybe wouldn't be allowed to be enabled sitewide but users can use for personal use as well :). Cheers, grunny:~$ 23:39, March 29, 2012 (UTC)
I'll change it if it's not okay. But, please, check out the demo, so you get the full idea! -- pecoes 23:48, March 29, 2012 (UTC)
Yeah, as that blocks areas of the site outside of the content area it's against TOU. If you could just blackout the content/text area of the page that would be fine. Also, you could add the ability to only hide certain areas of the text for articles that only have parts that are spoilers. :) Cheers, grunny:~$ 03:38, March 30, 2012 (UTC)
Alright. I'll change it. -- pecoes 03:59, March 30, 2012 (UTC)

(reset indent) Done. Can I make a demo here? Let's say at SpoilerAlert/Demo?

This is the code I'd need:

$(function () {
    if ($('#SpoilerAlertDemo').length) {
        $('<button>Clear cookie and reload</button>').appendTo('#SpoilerAlertDemo').css({
            width: '200px',
            margin: '200px auto'
        }).click(function () {
            $.cookies.set('spoilers', '', {
                path: '/', domain: wgServer.substr('http://'.length), hoursToLive: 24
        $('<p>' +
              'This page is a demo for ' +
              '<a href="">SpoilerAlert</a>' +
            textAlign: 'center',
            fontSize: '0.8em',
        window.SpoilerAlert = { isSpoiler: function () { return true; } };
        importScriptPage('SpoilerAlert/code.js', 'dev');

pecoes 12:32, March 30, 2012 (UTC)

For the sake of keeping everything in one place I'll give my two cents here. It's a good script but my only problem with it is that it tests document.title for a spoiler notice. Instead, it should test the article content itself. Best, --Kangaroopowah (Talk) 14:18, March 30, 2012 (UTC)
The function that tests the page is a configuration option. The example code features a version that tests if the page is in the category "Spoiler". Users can copypaste that one if they like it better. Or write a new one that tests if the page is in the "Spoiler" namespace. Or what have you...
But I will add another example function that tests if there are any elements with the css class "spoiler". That's what you were getting at, wasn't it? -- pecoes 14:41, March 30, 2012 (UTC)
I don't really think pages that contain spoilers will actually have "Spoiler" in the page title. Instead, I think we should make a new nav menu called "Spoiler" on the dropdown of the edit button for admins only, which when clicked, anonymous users and regular registered users will see the message when they visit the page. Sorry if the description isn't clear — you can reply to this message if you don't understand -- Sam Wang (talk) 03:06, May 27, 2012 (UTC)
The trigger is already configurable, Sam. Check out the examples at SpoilerAlert for two completely different alternatives! -- pecoes 19:03, May 27, 2012 (UTC)
IMO, that's a good idea Sam Wang. It'll probably take some API requests but it would be fairly easy to pull off. --Kangaroopowah (Talk)
The problem is storage. The easiest answer is to store the information in the page itself. If you don't store info in the page title or a category or a class name then where? -- pecoes 05:13, May 28, 2012 (UTC)

(reset indent)Thanks! -- Sam Wang (talk) 04:52, May 29, 2012 (UTC)

Save it in a mediawiki page pecoes. I'll prototype it today and post something to

Mediawiki:SpoilerAlet.js on my test wiki today or tommorw. --Kangaroopowah (Talk) 01:30, May 30, 2012 (UTC)

Spoiler Alert 2

Er, Grunny? What about my demo request? Did you miss that? I'd still like to make one... -- pecoes 12:13, April 05, 2012 (UTC)

I saw it originally, but with the further discussion between you and Kangaroopower I forgot :P. Done. Cheers, grunny:~$ 13:39, April 5, 2012 (UTC)
Thanks :) -- pecoes 15:38, April 05, 2012 (UTC)


Hey there, just a hopefully quick question for you. I'm trying to come up with a toolbar that has slightly easier access to certain pages I commonly use. I've borrowed bits of code here and there, got odd bits of help where I can find it, but I've hit a dead end and in reality I'm no good with js. ):

$(function () {
$('<ul id="WikiaNotifications" class="WikiaNotifications" style="position:fixed;z-index:9001;margin:1;left:0;bottom:1;"><li><div style="padding:6px 12px 6px 12px;line-height:1.3;font-size:15px;">• <a href="/wiki/Special:RecentChanges">Recent Changes</a><br />• <a href="/wiki/Special:CreatePage">Create Page</a><br />• <a href="/wiki/Special:WhatLinksHere/"' + wgPageName '"">What Links Here</a><br />• <a href="/wiki/"' + wgPageName + '"?action=history">History</a><br />• <a href="/wiki/Special:WantedFiles">Wanted Files</a><br />• <a href="/wiki/Special:WantedPages">Wanted Pages</a></div></li></ul>').appendTo('');

As you can see it's a little bit on the messy side, but the main problem is that the wgPageName part doesn't work as intended. It's meant to link to the Special:WhatLinksHere of the current page, similarly with the ?action=history, but it's not really working. I've got it implemented here if you wanted to see it in action. If it's not too much trouble, could you add in the relevant code to make Special:CreatePage open in a new tab too and maybe clean it up so it's not so daunting to edit ;)?

Cheers Cam.

I'm not Grunny but I see a few problems with you code. Firstly, you're using the notifications interface which I don't think you want to use right now. Secondly, a much, much easier way to do this is to just click customize in the floating toolbar and customize it there- all the links you want can be easily inserted through that. Hope this helps! --Kangaroopowah (Talk) 01:49, April 13, 2012 (UTC)
I'm not Grunny either, but if you want to open Special:CreatePage in a new tab, you could do it like this:
$(' > li.overflow > a[data-name="createpage"]').attr('target','_blank');

And two tips for future reference:
  • Always check your browser's error console! The reason why your script does nothing is a syntax error.
  • The line number the error console will tell you isn't worth much, if most of your code is on a single line. You should try to break the code up into multiple lines.
pecoes 03:03, April 13, 2012 (UTC)
Cheers for the help guys. I knew there's a My Tools menu but its a little easier for me when I'm making mass redirects, etc. to have a option that's always on the screen. I'll look into splitting up the code so I can tell where the problem is, though I suspects it's something to do with the combination of 's or "s around the wgPageNames's. It's when I start trying to add them in it starts breaking. Cam
Hi, I am Grunny ;-). And yep, you're right about your issue being with the quotes. Currently for the WhatLinksHere you have <a href="/wiki/Special:WhatLinksHere/"' + wgPageName '"">, the 's are correct, but you have too many "s and you're missing the second +. It should be <a href="/wiki/Special:WhatLinksHere/' + wgPageName + '">. I'd also use encodeURIComponent on the wgPageName to make sure the page name works properly if it has say an ampersand in it. So it would look like <a href="/wiki/Special:WhatLinksHere/' + encodeURIComponent( wgPageName ) + '">. The same for the history link, which should look like: <a href="/wiki/' + encodeURIComponent( wgPageName ) + '?action=history">History</a>. I hope that helps. Cheers, grunny:~$ 09:10, April 13, 2012 (UTC)
It works :D I've spent so long playing with variations of 's and "s yet I never tried that one. Thanks so much for getting it working. Cam


Hi Grunny!

Kangaroopower and I are developing a little plugin for the editor that adds find&replace. By and large it's going well, but I cannot figure out how to subscribe to the sourceModeReady and the wysiwygModeReady events. Can you shed some light on this? -- pecoes 06:08, April 19, 2012 (UTC)

And a follow-up question: Which event tells me when WikiaEditor().getInstance().getEditbox() becomes available? -- pecoes 21:29, April 19, 2012 (UTC)
Hey Pecoes. Sorry for the delay. I answered both of these questions in the reply to your S:C email. Cheers, grunny:~$ 09:51, April 27, 2012 (UTC)
Can you please post the answers here though, just so I can see it? Thanks, --Kangaroopowah (Talk) 20:41, April 29, 2012 (UTC)
This is the code Grunny gave me:
$(function () {
	CKEDITOR.on( 'instanceReady', function() {
		console.log( 'editor instance ready' );
		RTE.getInstance().on( 'wysiwygModeReady', function() {
			console.log( 'my visual mode loaded' );
		} );
		RTE.getInstance().on( 'sourceModeReady', function() {
			console.log( 'my source mode loaded' );
		} );
	} );

pecoes 20:57, April 29, 2012 (UTC)

(reset indent) What does the code do? -- Sam Wang (talk) 00:56, May 27, 2012 (UTC)

I tells you when the editor has fully loaded. -- pecoes 19:06, May 27, 2012 (UTC)

Compressed JS and CSS files?

Should we create subpages like /code.min.js and /code.min.css for compressed versions of JS and CSS files to load faster? -- Sam Wang (talk) 10:33, May 26, 2012 (UTC)

Unless the code is quite large, which most of the ones here aren't, compressing won't save that much, so it's probably fine to just leave them as is. :) Cheers, grunny:~$ 13:21, May 26, 2012 (UTC)
That's true. However, once you've imported many of the code here, it then starts to use up a bit of space -- Sam Wang (talk) 00:16, May 27, 2012 (UTC)
AddNavMenuItems seems to have a lot of comments, but not really that much JavaScript (or jQuery). If the unnecessary spaces and comments are removed, then it should save a lot of space -- Sam Wang (talk) 00:19, May 27, 2012 (UTC)
Or perhaps pages like ArchiveTool/code.js -- Sam Wang (talk) 05:11, June 14, 2012 (UTC)


Hello Grunny. I decided to share my code here, and as Pecoes suggested that it would be nice to have a demo on the wiki Talk:BotoneraPopups#Demo. If that's possible, that would be cool.

Also, I'm interested in protecting pages in Special:PrefixIndex/BotoneraPopups/ that end in .js or .css and becoming codeeditor. I've been using that code for ages and with the last improvement I did it should be considered stable and (hopefully :P) bug-free. Thanks! --Ciencia Al Poder en WikiDex 16:17, June 4, 2012 (UTC)

Hey Ciencia. Thanks for putting the code up, and done, done, and done. (unless I missed a page :P) Cheers, grunny:~$ 10:10, June 5, 2012 (UTC)


Hey granny, if possible could I have coeditor status. Thanks! --Kangaroopowah (Talk) 13:33, June 6, 2012 (UTC)

I'm no granny ;) but done. Cheers, grunny:~$ 15:04, June 6, 2012 (UTC)
OMG IM SO SORRY. Apple auto correct >.<. Thanks for the right though! --Kangaroopowah (Talk) 00:57, June 7, 2012 (UTC)

Ajax Auto-Refresh

Hey, I'm a bureaucrat at the Patapon Wiki. I first found the AjaxRC script on the RS wiki. We are currently renovating our forums and I think this feature would be great to have. However, it wasn't functional for me (probably my fault). I first tried it on the w:c:patapon:Mediawiki:Common.js and then my personal common.js (script is still imported from the Mediawiki:Common.js subpage). Could you please show me what the problem is? Thank you, it's greatly appreciated. -- Pulse daemon (Talk) 02:35, June 14, 2012 (UTC)

Hi. Your Mediawiki:Common.js is currently broken as you have some illegal characters in there (take a look at the symbol at the start of the two lines that start with ' + msg('buttonArchiveTool') + ' and remove it). Your personal one won't yet work as you've put it in /common.js. The user subpage /common.js doesn't currently work on Wikia as we are still running MediaWiki version 1.16. When we upgrade to MediaWiki 1.19 that page will start working. This is happening very soon, as you can read about in this blog post. :) Cheers, grunny:~$ 08:48, June 15, 2012 (UTC)

Thank you! I didn't notice you replied on this talk page. -- Pulse daemon (Talk) 01:12, June 20, 2012 (UTC)


Hi Grunny!

Did you notice this message?

pecoes 08:58, June 15, 2012 (UTC)


Hi Grunny, I was reading about the minify extension over on MediaWiki, and it says that it's a core MW feature as of 1.17. Given that Wikia is upgrading to MW 1.19, does this mean that we'll get the benefits of this extension automatically as a core feature of the new version of MW? So there's no point in minifying any javascript I'm writing here on Wikia, because MW will do it behind the scenes after for all pages in the MediaWiki namespace such as Common.js, global.js, etc? — Mathmagician (message wall) 03:20, June 19, 2012 (UTC)

AjaxBatchDelete - MediaWiki 1.19

Hi, ever since MediaWiki 'updated' to version 1.19, AjaxBatchDelete doesn't seem to be working. It gets stuck on "This page is intentionally left blank." I'm wondering if anyone else is experiencing the same thing, if so, please update/fix it. Thanks. -Falzar FZ- 12:11, July 6, 2012 (UTC)

It loads now, but it seems to get stuck on "Attempting to delete". -Falzar FZ- 03:37, July 20, 2012 (UTC)
Yep, that's a bug with deleting through the API. I fixed the issue of the page not displaying here and the bug with the API here. The API fix will go live with the next code release, so should start working again on Wednesday next week. Cheers, grunny@:~$ 10:15, July 20, 2012 (UTC)
Awesome, it works now as you said it would, thanks. -Falzar FZ- 02:43, August 2, 2012 (UTC)

AjaxRC Rewrite

Hey Grunny. I recently sat down and did a partial rewrite of AjaxRC. This included replacing cookie functions with localStorage, object orienting it and removing some unneeded stuff. Unfortunately (and this is my main concern), this destroys backwards compatibility into millions of tiny pieces. My suggestion would be two rename /i8n.js to /2.0.js (to make it seem friendlier) rework the standard AjaxRC page to set that as a default while clearly pointing out that the old one is obsolete, no longer maintained and should be replaced with an import to 2.0.js. As for the code, take a look below.

 * Code originally by "pcj" of Wowpedia
 * Maintenance, cleanup, style and bug fixes by Grunny (
 * Object oriented and converted to use localStorage by Kangaroopower (
$( function () {
	if (localStorage.getItem('ajaxload-' + wgPageName) == null) localStorage.setItem('ajaxload-' + wgPageName, false);
	window.AjaxRC {
		version: "2.5",
		ajaxIndicator = "",
		ajaxRefresh = 60000,
		refreshText = 'AJAX',
		refreshHover = 'Enable auto-refreshing page loads',
		ajaxPages = ['Special:RecentChanges'],
		ajaxCallAgain = []
	var	ajaxRCState = localStorage.getItem('ajaxload-' + wgPageName),
		AjaxRC = window.AjaxRC;
		/* Main function to start the Auto-refresh process */
		AjaxRC.preloadAJAXRL = function () {
			var	appTo = ( $( '#WikiaPageHeader' ).length ) ? $( '#WikiaPageHeader' ) : ( $( '#AdminDashboardHeader' ).length ? $( '#AdminDashboardHeader > h1' ) : $( '.firstHeading' ) );
			appTo.append( '&nbsp;<span style="font-size: xx-small; line-height: 100%;" id="ajaxRefresh"><span style="border-bottom: 1px dotted; cursor: help;" id="ajaxToggleText" title="' + AjaxRC.refreshHover + '">' + AjaxRC.refreshText + ':</span>&nbsp;<input type="checkbox" style="margin-bottom: 0;" id="ajaxToggle"><span style="display: none;" id="ajaxLoadProgress"><img src="' + AjaxRC.ajaxIndicator + '" style="vertical-align: baseline; float: none;" border="0" alt="Refreshing page" /></span></span>' );
			$( '#ajaxLoadProgress' ).ajaxSend( function ( event, xhr, settings ) {
				if ( location.href === settings.url ) $( this ).show(); 
			} ).ajaxComplete ( function ( event, xhr, settings ) {
				if ( location.href === settings.url ) {
					$( this ).hide();
					for( var i in AjaxRC.ajaxCallAgain ) {
			} );
			$( '#ajaxToggle' ).click( AjaxRC.toggleAjaxReload );
			$( '#ajaxToggle' ).attr( 'checked', AjaxRC.ajaxRCState);
			if (AjaxRC.ajaxRCState) AjaxRC.loadPageData();
		/* Turn refresh on and off by toggling the checkbox */
		AjaxRC.toggleAjaxReload =  function () {
			if ( $( '#ajaxToggle' ).prop( 'checked' ) === true ) {
				localStorage.setItem('ajaxload-' + wgPageName, true);
			} else {
				localStorage.setItem('ajaxload-' + wgPageName, false);
		/* Does the actual refresh */
		AjaxRC.loadPageData = function () {
			var cC = ( $( '#WikiaArticle' ).length ) ? '#WikiaArticle' : '#bodyContent';
			$( cC ).load( location.href + " " + cC + " > *", function ( data ) {
				if (AjaxRC.ajaxRCState) {
					AjaxRC.ajaxTimer = setTimeout(AjaxRC.loadPageData, AjaxRC.ajaxRefresh);
			} );
		/* Load the script on specific pages */
		for ( var x in AjaxRC.ajaxPages ) {
			if ( wgPageName == AjaxRC.ajaxPages[x] && $( '#ajaxToggle' ).length === 0 ) {
} );
Please, do NOT use for (... in ...) with Arrays. It's only intended to be used to iterate through object properties. Arrays must use ordinal access index (using array.length and so on). Otherwise, if one modifies the Array prototype adding more properties they will get iterated as well with the array indexes. You should provide a fallback mechanism if localStorage is not available in the browser. --Ciencia Al Poder en WikiDex 19:32, July 8, 2012 (UTC)
@Ciencia, I didn't actually write any of the for loops myself... those exist already in the current version of AjaxRC. As for support, according to this all firefox and chrome versions support it, as well as IE 8+ and Safari 4+. This covers all of the browsers supported by wikia themselves, so if a user is using a browser not one of these, AjaxRC being broken is the least of their worries. --Kangaroopowah (Talk) 21:47, July 8, 2012 (UTC)

AjaxRC Issue

Grunny. Since you seem to be the person to go on this, as I saw you updating the RC code more than anyone, I was hoping you could help. I'm an admin on the Mass Effect Wiki, and while our AJAX feature is working, there seems to be a bug. When the auto refresh is on, the Javascript that collapses the edits into a single line doesn't work. When it turns off, the edits collapse. I'm not sure if this is related to Wikia's mediawiki update, but again since you seem to be the one writing the code for the feature, I figured you'd be the one to go to. If you have any more questions I'd be happy to answer them, and if you can help, it would be appreciated. Thanks. Lancer1289 20:37, July 12, 2012 (UTC)

New version for ShowHide


There is a little bug in ShowHide: a collapsed NavFrame in a collapsed table is visible if the table is uncollapsed (look at User:Arkondi/sandbox). I worked on a fix for this and additionally modified the code in some other ways. Now I'm satisfied with the code (User:Arkondi/wikia.js). Please take a look and tell me your opinion (or is it better to ask the whole community?). If you think it is ok, then I'll modify the documentation to reflect the changes (first on a subpage of my account). If that is done, I'll notify you again and you can take over the new code and documentation. Arkondi (talk) 19:23, August 12, 2012 (UTC)

Hi. I'd suggest taking a look at the built-in collapsible module in MediaWiki 1.19 which mostly makes ShowHide obsolete IIRC: mediawikiwiki:Manual:Collapsible_elements#jQuery.makeCollapsible. If it covers pretty much everything that ShowHide does, ShowHide should be deprecated and people encouraged to move to the built-in functionality. Cheers, grunny:~$ 14:30, September 13, 2012 (UTC)


At the top of AjaxRC/code.js, can you please change this line:

var    ajaxIndicator = ''


var    ajaxIndicator = ajaxIndicator || ''

This would make it so that the ajaxIndicator configuration option (promised on the AjaxRC page) actually works so that people can customize the throbber. — Mathmagician (message wall) 23:59, August 25, 2012 (UTC)

Done. Cheers, grunny:~$ 14:33, September 13, 2012 (UTC)

ShowHide has died

jQuery has been upgraded and it not chokes on one of the selectors in ShowHide which causes the table hiding to stop working entirely. MW1.19 mw-collapsible is nice but there is a lot of legacy stuff that needs ShowHide to work. I figured out where the problem is:

$table.find( '> * > tr:not(:first):not(.nocollapse)' )[hidden?"hide":"show"]();

jQuery does not like :not(:first) any more, it gives empty result sets. It should be:

$table.find( '> * > tr' ).not( ':first, .nocollapse' )[hidden?"hide":"show"]();

I tested this and it works again but the page is locked so I can't change the code myself. Lunarity 05:38, September 20, 2012 (UTC)

Done, thanks for the fix. :) Preferably, unless there is something specific to ShowHide that users need for templates, now that all wikis are on 1.19, we should start encouraging users to make use of the core makeCollapsible module. Then there's one less JS script they have to import and load. :) Cheers, grunny:~$ 07:07, September 20, 2012 (UTC)


Hi. Can you delete these please.--— UltimateSupreme (Talk) 13:41, October 25, 2012 (UTC)

Done. Cheers, grunny:~$ 02:43, October 27, 2012 (UTC)

Reference pop ups

Hi Grunny, I installed Reference Popups on my Wiki ( but I do not want "Reference popups" showing in the edit button drop down on every page. Is there a code to remove this and how? Thank you. —Preceding unsigned comment added by Dryuuu (talkcontribs) . Please sign your posts with ~~~~!

Hi, I'd suggest asking the author of the ReferencePopups script, Lunarity, as they will be best able to advise you on that script. Cheers, grunny:~$ 09:42, November 10, 2012 (UTC)


Hey Grunny,

I was wondering if I was eligible for the codeeditor right. I'm not extremely good at JavaScript, but I've built some useful scripts over the past year or so.

Cheers -   ǝsʞpɐןǝ  (talk page)  11:48, 7 December 2012

Yep, and done. :) Cheers, grunny:~$ 11:53, December 7, 2012 (UTC)

Likewise. May I request for it as well? --Noemon *talk* 12:23, December 7, 2012 (UTC)

Done. grunny:~$ 12:28, December 7, 2012 (UTC)
Cheers! --Noemon *talk* 12:31, December 7, 2012 (UTC)

AjaxRc changes

Could you take a look at AjaxRC/beta.js. It maintains backwards compatibility, wraps everything in a closure so the global namespace isn't filled with junk from this script, and it removes cookie dependence and switches that to localStorage. It also supports every browser Wikia supports and probably some others too. What do you think? --Kangaroopowah (Talk) 04:41, December 25, 2012 (UTC)

bump :) --Kangaroopowah (Talk) 04:56, January 5, 2013 (UTC)

Oops, sorry I missed this. Looks good at a glance (without testing). I'll take a closer look soon. Maybe we should have some sort of Code Review forum on this wiki, where user's can request feedback on scripts so they get attention from multiple people? Just an idea. Anyway, one minor thing from glancing is that the mediaWiki object should be included in the closure along with jQuery i.e.:
( function ( $, mw ) {
        // AjaxRC code
}( jQuery, mediaWiki ) );
I'll take a closer look and test it soon. Cheers, grunny:~$ 06:30, January 5, 2013 (UTC)
I fixed that and did a few other changes. Could you test it out now? And the codereview forum would be a good idea. --Kangaroopowah (Talk) 19:57, January 13, 2013 (UTC)
Everything's good to go. It's ready for your testing. --Kangaroopowah (Talk) 04:40, January 23, 2013 (UTC)

Coding Help

I know this maybe to much to ask but I was wondering if you could teach me how to code more efficiently that is or at least help me understand how coding works and functions. Now I have an understanding of coding and how it work in general, overall anyways but I have a burning passion and love for programming and how everything comes to together to make awesome software and I would love it if I knew how to do all this cool stuff. So can you please help me.

here's some of my work:

Oh and if possible help me with the Mediawiki:common.js and take a look at Mediawiki:Wikia.css

Your friend, your leader, The Fallen (talk) 02:51, January 18, 2013 (UTC)

Bob Bricks

Their is a Community Councilor named Bob Bricks who I think could highly qualify for being an Admin here.He has helped several wikis and Users all across Wikia and is a master at Media-Wiki Coding. I can show you examples of his work if you would like and think he could very well qualify for being an Admin here.

Ajax RC Beta

Ajax RC's beta is ready for production ;). --Kangaroopowah (Talk) 02:04, April 5, 2013 (UTC)

Hi Grunny, I would like to second Kangroo's request to push AjaxRC/beta.js to AjaxRC/code.js. In addition to other improvements, /beta.js fixes a bug on the Special:WikiActivity page reported on the talk page. Thanks, 20px_Rin_Tohsaka_Avatar.png Mathmagician ƒ(♫) 04:44 UTC, Thursday, 11 April 2013
On a slightly unrelated note (this was suggested a couple of sections above), would it be possible to set up a code review forum to submit code for review? I'm not sure if it would be easier to keep the current DPLForum or whether the new Wall forums would be a better option, but it would make it easier to check new code releases especially for high use code such as AjaxRC. Perhaps an extra admin wouldn't go amiss either (I'm not sure if there's any internal Wikia policy for admins here)? cqm 09:59, 18 Apr 2013 (UTC)
Yes, I suggested that, but never got around to it, but let's give it a go. We generally don't give out admin rights here for security reasons. Changes to very high use scripts such as AjaxRC and FastDelete should be reviewed by a staff member (which usually is me, but could be another), hence they are protected. It is the reason the code editor right was created, so there was an option for moderately well used scripts to be protected while still allowing users who have proven they can write JS and are generally trusted to edit them. And the new version of AjaxRC is now in production. :) Cheers, grunny:~$ 10:59, April 18, 2013 (UTC)
Thanks Grunny! --Kangaroopowah (Talk) 11:40, April 18, 2013 (UTC)

JS and CSS Cheatsheet

Hi Grunny!

The page [[JS and CSS Cheatsheet]] no longer serves a purpose. At the moment it's just a redundant disambiguation page redirect. It would be for the best to delete it and replace the link to it in MediaWiki:Wiki-navigation with a link to [[w:Help:JavaScript_and_CSS_Cheatsheet]]. --  pecoes  20:17, April 19, 2013 (UTC)   pecoes  20:21, April 19, 2013 (UTC) 

Code Request

Hi Grunny, if it is not too much to ask (and if it is possible), do you think you or anyone reading this, could whip up a bit of an extension to ShowHide that collapses the content horizontally rather than vertically? This came up in discussion on Fairy Tail Wiki and would prove to be very helpful for our wiki. Cheers--Godisme <talk> 04:03, April 25, 2013 (UTC)

What content on which page you would like to collapse? Perhaps there's a way to realize it with the integrated feature. Arkondi (talk) 06:53, April 25, 2013 (UTC)
Nothing specific at the moment. We are redesigning a bunch of templates and a horizontal collapse would be an interesting look and save some space.--Godisme <talk> 03:42, April 26, 2013 (UTC)
It would sure be useful to have an example though - to clarify your request and to allow for testing. --  pecoes  04:25, April 26, 2013 (UTC) 
On User:Arkondi/horizontalCollapse.js you can find code (copy it to your personal js) and on User:Arkondi/sandbox/HorizontalCollapse an example. Please do not hesitate to ask if there are any questions about it, because it is only a draft. Arkondi (talk) 07:37, April 29, 2013 (UTC)

Another update to AjaxRC

Hey Grunny. Could you please update AjaxRC/code.js with the latest from AjaxRC/beta.js? The list of changes can be found at Portal:Code Review/AjaxRC. Thanks, --Kangaroopowah (Talk) 22:51, April 27, 2013 (UTC)

Done. Cheers, grunny:~$ 15:24, May 1, 2013 (UTC)
Just saw this. Thanks! --Kangaroopowah (Talk) 04:21, May 8, 2013 (UTC)

Help with my wiki

Well, I tried everything, my wiki: The Big Bang Theory, just struggle to accept any of the codes I put on the Mediawiki page. Can you please review Common/wikia.js to tell me what's wrong? I also cleared cache, tried to browse the wiki from another wiki and also from another wifi.

Thanks! And please reply on my talk page so I could get a notification. —Preceding unsigned comment added by Unnamed Airbender (talkcontribs) May 12, 2013

Meta Wikia


Sorry for disrupting you. Recently, a few other administrators of Wikia-related wikis and I started the Meta Wikia project. It is for all wikis dedicated to Wikia relevant topics. I feel that the Developer's Wiki would be a constructive addition to the project. Do you have any opinions or thoughts? However, the project was only recently started and as such, most of the wikis in it are very little in content. Denial is completely understood, considering this is such a large, widely used wiki. I understand you not having any interest in joining. Thank you in advance.

Best regards. --Yuzura☆炎のマスタ 01:15, May 31, 2013 (UTC)

Can you give a link to the wiki? Arkondi (talk) 02:52, May 31, 2013 (UTC)
It is not a specific wiki, but merely a group project of wikis, with a footer that can be seen here. --Yuzura☆炎のマスタ 19:58, May 31, 2013 (UTC)

Question about a code

Hi Grunny.

I was wondering if there was a code that maybe I could put into a page or something that would show a list of all the empty (blank) pages so I can find vandalism easier.

P.S. Please reply on my talk page.

Thanks. uɐʍoɹ 14:46, June 9, 2013 (UTC)


Is there a place where I can suggest a code be made? I don't really have enough knowledge to make a javascript mod for Wikia, but I'd like to know if it's possible to make a feature for banning people from just forum editing.:D (TCFF) 21:12, June 25, 2013 (UTC)

I see you've posted on the Help desk forum already, but that's what I would have suggested. :) Cheers, grunny:~$ 11:09, June 26, 2013 (UTC)


Hi, could you unlock the PurgeButton/code.js page, I wanted to finish adding all translations, Thanks! --— OriginalAuthority at Wikia Developers Wiki 21:57, August 9, 2013 (UTC)

You could leave the translations on the talk page and notify Pecoes who seems to be maintaining the script at the moment. cqm 23:29, 9 Aug 2013 (UTC)
Per Cqm. Also, please stop using the <staff /> tag in your signature, that is only for Wikia Staff members. Cheers, grunny:~$ 04:33, August 10, 2013 (UTC)


Hi, may I ask where you learned to code, also can I get the codeeditor right, I'd like to add a few things to some scripts — OriginalAuthority at Wikia Developers Wiki File:Favicon.ico 16:32, August 10, 2013 (UTC)

Hi. I mostly just taught myself when I was younger by wanting to do something either on a wiki or whatnot and figuring out how to do it (Google is your friend ;)). I started off with Python and JS and moved on to other languages. I have since gotten a degree in computer science so I also have a formal education in the area now.

And no, the codeeditor right is only given out to those who have proven they can code and be trusted to edit popular scripts that need to be kept secure. Generally, if you want to make changes to protected scripts you should leave proposed changes on the talk page for the maintainer to review and decide whether or not to implement. If you are around for a while, have contributed and maintain a few scripts, and generally proven you can code, then we can look at giving you the codeeditor right. I hope that helps. Cheers, grunny:~$ 08:08, August 11, 2013 (UTC)
On the same topic Grunny, what code pages can't a code editor edit? I know AjaxRC is one of them, but are there any others? --Kangaroopowah (Talk) 19:16, August 11, 2013 (UTC)
Basically the only actively-used script that is also sysop-protected is FastDelete, which is also a sensitive script due to its prolific use among admins. Cheers, grunny:~$ 16:22, August 12, 2013 (UTC)

So, you googled things, like what is an if statement, sorry for all the questions, I'm looking for somewhere to carry on my research/learning. Do you have any website suggestions? — FarewellEleven at Wikia Developers Wiki Wiki.png 18:24, August 12, 2013 (UTC)

Developer tag

Hi Grunny, could you take a look at this and tell us what you think? — FarewellEleven at Wikia Developers Wiki Wiki.png 22:44, August 12, 2013 (UTC)

I think I rewrote this extension right for this purpose... -- Prinplat ]Open Source[


Hey, could you put up a demo of OasisSitenotice on this wiki? This shouldn't be a problem to other users since its dismissible anyway.-- ~ UltimateSupreme 13:59, August 19, 2013 (UTC)


Doesn't make sense for CSS (and bots) to be under "Scripts". Some other word would probably be better. ~Bobogoobo (talk) 17:35, August 29, 2013 (UTC)

Nirvana dead link

The third link on Nirvana, Hello World Example, goes to which no longer exists. Is there somewhere it should be pointing instead on Wikia's github repo? cqm 10:48, 30 Aug 2013 (UTC)

Link fixed. Thanks for pointing it out. :) Cheers, grunny:~$ 11:12, August 30, 2013 (UTC)


Would I fulfill Voldev requirements? I don't know if I could commit even if I did fulfill the requirements, but I just want to see where I would be at and what I'd have to work on. My best work would be Igloo. Best, --Kangaroopowah (Talk) 05:30, September 1, 2013 (UTC)

Hi Kangaroopower. Thanks for your interest in the program. We are trialing the program at the moment, but if it is successful will be reaching out to more people. I think you would likely be an excellent candidate, so I'll keep a note to myself of your interest for when we get to that stage. :) Cheers, grunny:~$ 12:44, September 2, 2013 (UTC)

Getting rid of AjaxRC's temp hack

Could you see if you could get rid of AjaxRC's temp RecentChangesLocal hack? Thanks, --Kangaroopowah (Talk) 18:39, September 4, 2013 (UTC)

If it was exposed to the global scope, then we could just call Wikia.RecentChanges.init(). I'm just not sure which global var it would be best attached to. Given the widespread nature of the script, would it be possible to make a change like this? cqm 23:23, 5 Sep 2013 (UTC)


Hi! I was looking at FastDelete and realized that I don't use it that often ... but what I almost always do visit is a page's History. I was wondering, is there a FastHistory (or anything else, like FastRename) button to navigate pages more efficiently? If not, how hard would it be if I tried to create one? Thanks for the help!

User:Pickle786™ 16:45, September 5, 2013 (UTC)

You don't need AJAX for that, you can just append your own buttons to the page header. It would look something like this short script. ~Bobogoobo (talk) 20:40, September 5, 2013 (UTC)

Could you delete DeletedForum

Per Talk:DeletedForum could you delete the page? --Kangaroopowah (Talk) 15:30, September 8, 2013 (UTC)

Code editor request

Hey, I was wondering if I could be a code editor as well? ~ UltimateSupreme 14:27, September 15, 2013 (UTC)

^Bump and Bump. ~ UltimateSupreme 18:23, September 22, 2013 (UTC)

Done. Sorry, for the delay. Cheers, grunny:~$ 18:40, November 26, 2013 (UTC)

Wikia's Repo

Hello Grunny,

following the advice of cqm. I want to ask you, can you help out in this case:

Specially with the final error message on install: Mediawiki tried to access the database via wfGetDB(). This is not allowed.

Thank you --Samual3 (talk) 12:31, October 2, 2013 (UTC)

Code page protection request

Hi Grunny,

I was wondering if I could request the Code editor user group and then request MiniComplete/code.js be protected? It's brand new, but I'd rather it was only edited by those who knew what they're doing.

Thanks, cqm 14:00, 28 Oct 2013 (UTC)

Done. :) grunny:~$ 14:31, October 28, 2013 (UTC)
Thanks :) cqm 15:35, 28 Oct 2013 (UTC)

Code suggestions?

Hi, this may be a silly question, but where can I suggest ideas for new scripts? Specifically, I wanted to suggest an idea that somebody, somewhere, might be able and willing to code — a way to detect unused redirects (i.e. nothing links to them) and list them on a page similar to Special:ListRedirects, but listing unused ones only. Thanks! – RyaNayR 04:02, November 4, 2013 (UTC)

People tend to ask for things like that on the Community forums. I usually pick up those kinds of things, not sure if there are other mercenary scripters out there, maybe I keep stealing everything :P. I'm working on a bunch of scripts right now, but I could probably do that in a day or two if no one else does. ~Bobogoobo (talk) 04:59, November 4, 2013 (UTC)
Do you have DPL on your wiki?~UltimateSupreme 15:16, November 4, 2013 (UTC)
I don't think so. I'm not even really sure what DPL is (DynamicPageLists?) and no idea what it can do or how to use it. – RyaNayR 01:41, November 5, 2013 (UTC)

AjaxRC Code review

The review of the current /beta.js seems to be complete. Could you move it to the live version after performing your tests? Thanks, cqm 18:51, 15 Nov 2013 (UTC)

Voice Dictation

Hi, I have written a piece of code for mediawiki: Voice Dictation. Could you please grant me temporary admin rights to the dev wiki, so I can install it here?

I have already installed this on a couple of other wikis, so I know it's stable. Could you please grant me permission?

User:Deadcoder | Code Lyoko Wiki: User: Deadcoder

I can add it to DemoScripts.js if you like, but no one gets admin rights here due to security concerns with high use protected scripts. cqm 23:35, 18 Nov 2013 (UTC)
Ummm, what exactly does DemoScripts.js do? Could you add my extension to the common.js file of the dev wiki yourself, if it's not too inconvenient or insecure?
User:Deadcoder | Code Lyoko Wiki: User: Deadcoder
DemoScripts is essentially common.js. Any scripts on demoscripts.js will be seen by everyone on this wiki. What's convenient about demoscripts.js is that people other than Grunny (such as cqm and I) who have the codeeditor right can add scripts to it, allowing requests like these to happen much faster than if Grunny was the only on in charge. Secondly, it's convenient because we can specify dependencies for the script (such as external libraries/css files) and we can restrict its usage to only one page, if that's what requested. I'm assuming you don't want it restricted to one page so I'll go on and enable it across the entire wiki. Best, --Kangaroopowah (Talk) 05:14, November 19, 2013 (UTC)

Help with code formatting


I just created a new file called ExtendedNavigation which allows wiki administrators to extend their current navbar to include 4th and 5th level navigation. I'm having trouble, though, with the formatting of the shared JS page. Pasting a MediaWiki page directly into code.js causes issues for me, yet I see other code projects working normally. Is there a setting or something I am missing?


Spsig.png 00:00, November 24, 2013 (UTC-7)
Hey, you need to add:

// <source lang=JavaScript> to the top of your js file (since its in main ns) and close it at the end~UltimateSupreme 07:14, November 24, 2013 (UTC)

//<syntaxhighlight sourcelang="Javascript"> … Code … </syntaxhighlight>
be better since <source> is deprecated? —RyaNayR (talk)
It makes very little difference considering the nature of the original question. cqm 10:59, 24 Nov 2013 (UTC)
Thank you!
Spsig.png 11:55, November 24, 2013 (UTC-7)


I have more or less finished the English version of PowerPageMaker. Given that creation of new pages happens a lot on this wiki, and some people use Monobook, "whose page creation feature is terrible," could you or another person please install PowerPageMaker into Demoscripts.js? Code Lyoko Wiki: User: Deadcoder 18:13, December 8, 2013 (UTC)

Not being much of a monobook user myself, I asked around the community wikia chat on skype where the general consensus was monobook's page creation works fine. If you're referring to having templates for page creation, then yes it's not oasis, but enwiki has over 4m pages to it's name with the same page creation tools.
DemoScripts.js is for adding interactivity to your documentation (I notice the script is installed elsewhere which more or less fulfils that), not for fixing any perceived issues that might exist for users. If anyone disagrees with my interpretation of DemoScripts use they are free to add it, but I don't think it should be forced on everyone who creates a page here. cqm 23:34, 8 Dec 2013 (UTC)
PowerPageMaker is skin-independent, and works equally well with Monobook and Wikia. This was part of its design. I am merely recommending it because it's designed to make the creation of new pages easier. I am not referring to adding templates for new pages, "I don't think it would be a good use of this wiki's time."
I was told earlier that DemoScripts exists to be like Common.js, but with more sophisticated page management, and dependency control.
Perhaps instead of being limited to the chat, we should use a poll to see if the general userbase of this wiki would prefer PowerPageMaker instead of the Standard Page Maker. I am not intending to assert authority on this wiki, I am just suggesting we use a better method for determining if this should be installed.
Code Lyoko Wiki: User: Deadcoder 00:37, December 11, 2013 (UTC)
Personally I agree with Cqm. I think that the script itself is useful to a certain number of users. But just not to the users here. I assume everyone that contributes to this wiki has a basic understanding of how page creation works and I doubt that they'd want it to be taken over by a script. Seeing as some (if not all) articles created here aren't done through the new article flow I think it would be rather superficial to add it to the wiki. Prinplat ]Open Source[ 00:57, December 11, 2013 (UTC)
With the creation of PageMakerPro, I'm stepping back from any involvement in this request. If anyone else wishes to grant it I have no problem with them doing so, but I would suggest they take PowerPageMaker Vs. PageMakerPro into account when doing so (not the content of the page, but that it exists).
I don't want to get involved in any dispute between the authors of these scripts and don't wish to show favouritism to either author or script. I'd suggest trying to collaborate and make something better, but the creation of the second page suggests such an act is a little unlikely. Thanks, cqm 01:18, 12 Dec 2013 (UTC)
To my knowledge there is no dispute. I do admit that vs. does make it seem like there is though. The reason for PageMakerPro was because I wasn't happy with how PowerPageMaker turned out when I first made it. And I wanted to do something a bit different than what Deadcoder chose to do. P.S. I don't think either should be installed here. Prinplat ]Open Source[ 01:24, December 12, 2013 (UTC)
There actually is no dispute between these two projects. Granted, they are designed to do similar things, but they have different designs, in code and interface. Our projects actually are friendly with eachother, and I even work to backport features when possible.
We have no problem with collaborating, we just have different incompatible designs. That's why there are two different projects. I, at least, try to collaborate on both projects, it's just that the two systems have different criteria and development ideas, and thus incompatible code.
As it states on the page, PowerPageMaker Vs. PageMakerPro, merely exists so the systems can be compared and contrasted, because they have different featuresets. This is merely for the convenience of the users. I don't see a competition between us. Installing one or the other, if either, wouldn't be favoritism. It would just be a technical decision. If you chose to decide either of them, I would be okay with it. It's simply technical differences.
Code Lyoko Wiki: User: Deadcoder 02:13, December 12, 2013 (UTC)

(reset indent) The page PowerPageMaker Vs. PageMakerPro is such a useless page for an incredibly high number of reasons, not the least of it being that the dev wiki is not a place to compare competing scripts. I'd delete it if I had the power and I'll probably skype grunny and ask him to delete him soon. --Kangaroopowah (Talk) 03:31, December 12, 2013 (UTC)

I agree with Kangaroopower in that I really don't think we need such pages, and it was misinterpreted by more than one user as a conflict between the two authors of the scripts. I've deleted the page (if you need the content back for reference, let me know and I'll restore it and move it to your user space). I'd suggest what is far more useful to users is to have a simple see also section that succinctly describes the other script and the major difference between them rather than an exhaustive list. Cheers, grunny:~$ 07:05, December 26, 2013 (UTC)

Protection Request

Hey, I was wondering if you could semi-protect SkinSwitchButton, AnswersAskAutocomplete and AdvancedOasisUI. They are not included in DemoScipts but quite widely used scripts.~UltimateSupreme 15:33, December 12, 2013 (UTC)

Done. :) grunny:~$ 06:59, December 26, 2013 (UTC)

Voldev pull request process

In Volunteer Developers/Pull Request Process#Process it says to ping yourself an User:Mroszka with @Grunny and @mroszka respectively. However, on the voldev pull requests @mroszka doesn't seem to link to anywhere. I thought it might be @michalroszka, but wanted to check it was the correct person before changing anything. Thanks, cqm 22:07, 14 Dec 2013 (UTC)

Yep, Mix renamed his GitHub account, I've updated the page to use @michalroszka. :) Cheers, grunny:~$ 06:58, December 26, 2013 (UTC)


It seems that your latest update to the AjaxRC code has broken the function that performs the page reload. I have tested it on two wikis, and (at the very least when on Special:Recentchanges) the script does not update the page. I looked at the changes and have no clue how what you did would break that, but it definitely did. —RyaNayR (talkcontribs) 09:11, December 26, 2013 (UTC)

Can you link me to a wiki where it broke? And also, can check your browser console for any JS errors and let me know if there are any? Cheers, grunny:~$ 09:19, December 26, 2013 (UTC)
I've tested on a number of wikis that use it, and it seems to be working on all of them. So, please also let me know what browser you are using and I'll see if I can reproduce the issue. Cheers, grunny:~$ 09:30, December 26, 2013 (UTC) and
My console isn't showing any javascript errors, except on courage, where it tells me "The Web Console logging API (console.log,, console.warn, console.error) has been disabled by a script on this page." But I believe that was there before and probably has something to do with another script.
I'm using Firefox 26.0 —RyaNayR (talkcontribs) 09:33, December 26, 2013 (UTC)
To be more specific, the throbber animation does not show up either on page-load or when toggling the checkbox. I couldn't say whether that means it's not updating, or just failing to show that thing. —RyaNayR (talkcontribs) 09:38, December 26, 2013 (UTC)
I just tried on both wikis with a test account without any custom JS in Firefox 26 with both enhanced RCs and normal RCs open in different tabs, and created my user page in another browser, and the pages refreshed correctly with the throbber displaying every 60 seconds when the page refreshes. Can you inspect the toggle in your console and see if the throbber image is there and loading? It should be within a span with the ID ajaxLoadProgress that should be hidden by default and shown when it refreshes or when you check the toggle to on. Check what the src URL is and if it loads for you. Cheers, grunny:~$ 09:45, December 26, 2013 (UTC)
Yes the ID is present, however the image only becomes visible when I disable the display:none property. —RyaNayR (talkcontribs) 09:56, December 26, 2013 (UTC)
The src URL is (talkcontribs) 09:59, December 26, 2013 (UTC)
Well I just confirmed that the updating IS working. I had a tab open which was still using the old code, and when I made a change on the wiki it showed the change immediately. Then I had a new tab which was using the new code, and it showed the change I made after about 30 seconds, so the auto-updating is working. It's just not showing the throbber anymore for some reason. —RyaNayR (talkcontribs) 10:13, December 26, 2013 (UTC)
I have also disabled all my user scripts by the way. Both CSS and JS. —RyaNayR (talkcontribs) 10:15, December 26, 2013 (UTC)
OK, I think I found the issue. Firefox was changing the display: none; to display: block;, which when you're an admin, causes the throbber to be beneath the toggle and you can't see it. Chrome correctly changes it to display: inline. It's fixed now by a slight tweak to the code that builds the toggle HTML. I don't know why Firefox behaves differently here, but should be fixed now once you clear your cache. Cheers, grunny:~$ 10:27, December 26, 2013 (UTC)
Yep! It's working perfectly now. I was about to mention that it was changing from display:none to display:block for about 2 seconds every 60 seconds. But it looks like you caught onto that already. Great job, thank you! —RyaNayR (talkcontribs) 10:35, December 26, 2013 (UTC)

AjaxUndo suggestion

I noticed that when the "AJAX Undo" link is clicked that the text changes to "Undone" but the link address is still the same. I was thinking it would be better if it would become plain-text (de-linked) once the operation is performed, or maybe link to the diff. —RyaNayR (talkcontribs) 04:11, December 28, 2013 (UTC)

Linkedin Integration

Hey Grunny.

I just finished a script that adds share features for Linkedin: LinkedinSupport. I think this script should be installed on the dev wiki. This is one of the more serious wikis, with a lot of resume-worthy work, and I think that adding the LinkedinSupport script would make sense on this wiki. What do you think? Code Lyoko Wiki: User: Deadcoder 23:08, March 11, 2014 (UTC)

Hi Grunny,

I'm trying to use the multiuploader but it doesn't seem to be working.

I triple checked my name and password and everything seems good.

The URL is confusing because there are so many versions you could do. I try 3 and none worked.


Hey, I added this feature for my personal use. However, all it does now is just make a loading bar where the "On the Wiki' bar is... it also doesn't change what I added, but shows only the original.

I don't know if it's a glitch, but I thought I should tell you this.

Best Regards,


It's a bug I've noticed myself, but the script is currently unmaintained as Pecoes has more or less disappeared from Wikia. You might have noticed the wikimarks editor is broken too. I can have a look at fixing it some time soon, but no promises. cqm 16:41, 21 Mar 2014 (UTC)

Thanks Cqm.


Hi. It didn't work for me yesterday and it works perfectly now.
Hulothe (discussion) 02:44, March 22, 2014 (UTC)

DemoScripts.js + Tooltips


Hope you won't mind that I've added the demo for Tooltips in DemoScripts.js. I've noticed it's protected after I made the edit and then I decided just to finish the thing by protecting code.js and code.css of my script and drop you this message :). — Nanaki 12:14, March 21, 2014 (UTC)

I'm not Grunny, but it should be fine fine ;) Most scripts there are added as demonstrations of some description on their respective pages, Tooltips follows the precedent there. My only concern is having someone active who can edit the fully protected scripts, such as AjaxRC or FastDelete, which are protected due to their extremely high usage. cqm 16:50, 21 Mar 2014 (UTC)

Code Editor Permission

Hello Grunny. I have been contributing to the dev wiki for a while now, on a variety of widely installed scripts, and I would like to request the Code Editor permission. I want this so I can protect the scripts I have written on this wiki, so vandalism doesn't cause issues for my users. Could you please consider it? Code Lyoko Wiki: User: Deadcoder 20:48, March 22, 2014 (UTC)

Leaderboard Extension

Is there anyway for it to show more than 19 users?



Protect PowerPageMaker

Hello Grunny. Even though it's not installed here, the main version of PowerPageMaker is installed on a fair number of wikis. Could you please protect PowerPageMaker/code.js ? Code Lyoko Wiki: User: Deadcoder 15:00, March 31, 2014 (UTC)

Hi Grunny! I saw on the homepage that you needed some translations here on the dev Wiki. I may be of help! Thanks!

Nathan.Wong (talk) 18:44, April 4, 2014 (UTC)

Protection request

Hi Grunny :) Can you protect Less/mixins.less when you get a spare minute? Thanks, cqm 11:45, 6 Apr 2014 (UTC)

Protect Voice Dictation/voice.js

Hi Grunny, even though this wiki clones the code for it rather than install it, could you please protect the code for Voice Dictation? It's installed on more than a dozen wikis, so there is a sufficient security reason to install it. Code Lyoko Wiki: User: Deadcoder 13:22, April 8, 2014 (UTC)


I would like to request that the script ChatTags be protected due to it not only being installed on multiple wikis but can also open up security holes for multiple users on one wiki if the source is to be altered not to mention all of the users on every chat that the script happens to be installed on.

Also, seeing as the scripts original maintainer cannot be contacted I have taken the responsibility of maintaining the script so I request the codeeditor right as well as the protection of this script.

Cheers! Lil' Miss Rarity ]Open Source[ (talk) 23:55, April 8, 2014 (UTC)

Done cqm 13:17, 22 Apr 2014 (UTC)

Delete this page

Would you mind deleting this outdated page please? I no longer need it. Thanks! — Foodbandlt (talk) 06:31, April 10, 2014 (UTC)

ID Cards

Hello! How do I create an ID card?

{{SUBST:Ramona/İmza3}} (talk) 04:04, July 24, 2014 (UTC)

I'm doubtful you mean ID card in the traditional sense, e.g. driving license/passport type ID, so could you clarify what you mean? cqm 07:47, 24 Jul 2014 (UTC)

Code Editor

Hey Grunny, if its not to much to ask, can I have code editor rights and get my DisableBotMessageWalls code protected? It isn't exactly a high traffic page but people editing my code without asking is one of my pet peeves.

Jdm280 (Talk Contribs) 18:38, August 6, 2014 (UTC)

New User Groups

Hey there! I see you have created an enitrely new user group in this wiki. I was wondering if you could teach me how to do that, and how to give the new user groups special rights. I am thinking of creating a user group for image management, which will allow users within that user group to delete and move files. Thanks! KILLIAN JONES ~ I hate you, flying jellyfish! 20:32, January 10, 2015 (UTC)

To create a new user group the configuration of the software must be modified (look here). Use Special:Contact to ask for it. Arkondi (talk) 23:13, January 10, 2015 (UTC)

Policy for code updates

Excuse me, but what's this wiki's policy on updating code on pages (for example, to reflect vendor prefixes?) —Preceding unsigned comment added by Matau99 (talkcontribs)

AFAIK there isn't a specific policy covering it but changes to code for this reason should probably be discussed on the talk page of the script/stylesheet before any changes are made. Shining-Armor (talk) 19:36, January 18, 2015 (UTC)
Or making a second page for the new code while retaining the original (e.g. /code.2.js). – Ozuzanna 19:49, January 18, 2015 (UTC)

JIRA Access

I'm having problems getting into Atlassian, the Agile management system used by the vol devs. . I tried using the forgotten email and password links, but they both went to my personal email, claiming that there was no account associated with that email address. This is confusing, because I've gotten 8 other emails to that account about comments about particular features. Can you please help me find out what's wrong with my account, or reset it? Code Lyoko Wiki: User: Deadcoder 15:11, January 19, 2015 (UTC)

Sure, I'll ping our JIRA admin now and get back to you via email. grunny:~$ 15:13, January 19, 2015 (UTC)

Require additional assistance with LUA..

Hi Grunny, I followed your example: on a test page:

Unfortunately, even while adhering to what you've explained I was unsuccessful in pulling up the example. Please let me know what it is I may have missed or did wrong so I may rectify the error(s), thank you.

Directories used

Jnsb (talk) 04:45, February 13, 2015 (UTC)

In w:c:jsnb:Template:FooBar, your {{#invoke:}} statement is incorrect. You are not specifying the name of the function to be executed from Module:FooBar. Change it to {{#invoke: FooBar|fooBar|case 1}}.
-- sqm | talk | 06:12, 02.13.2015

I see, thanks sqm. I'll be sure not to make the same mistake next time. Jnsb (talk) 21:00, February 13, 2015 (UTC)


Is this script going to work soon? BotoneraPopups. Can it be changed back to when it did work?

SoPretentious 21:18, September 16, 2015 (UTC)

It works now, so nvm. SoPretentious 21:24, September 16, 2015 (UTC)

Editing Javascript

I'm having issues editing Javascript pages. Every time I try to edit one, I get this error:

You can not perform this action right now. Please try again in a few minutes, or contact Wikia if you are having difficulties.


I checked out the console, and found this error:

Uncaught [CKEDITOR.editor.replace] The element with id or name "WikiaEditor-0" was not found.



Do you have any idea what is causing it, or how to fix it? Code Lyoko Wiki: User: Deadcoder 16:37, November 1, 2015 (UTC)

Codeeditor for Italian Language

Hello Grunny! I'm Lord Ghiraim, an Italian User. I really like this wikia because I think it's very useful for users but I noticed that there aren't Italian translations in a lot of JavaScripts. I'd like to get the Codeeditor right to add them, even though I know it probably isn't a good reason. So, what do you think?
Lord Ghiraim (talk) 18:50, November 5, 2015 (UTC)

Grunny, Wikia's recent change of taking over has caused several Wikis to report broken functionality including Halo and Dragon Age. Can you please either restore the previous wiki which was used as a repository or send me a link to the files so that we can restore functionality to the sites? --{{SUBST:User:Tierrie/SigInclude}} 00:18, May 2, 2016 (UTC)

You might want to contact Wikia as Grunny has not edited here since September 17, 2015. --Sophie 02:28, May 2, 2016 (UTC)

About the "Languages" section...

Hello! I have some questions about this Languages on the infobox templates. My question is, if a language is not mentioned in this template, does that mean I cannot use it in a wiki in that language?

I wanted to install the ReferencePopups into a wiki in Spanish, but then I saw that Spanish is not in the template and I wanted to know if it wasn't going to work because of that...

I have another question... If the wiki was Italian, I'd just have to install the codes the same I see them in that page or I would have to change something?

Finally. Since there is said that it "can be translated", does that mean that the code should be translated in the Spanish wiki, or here in this wiki? Can anyone who knows almost nothing to nothing about MediaWiki or HTTP codes translate it, or it should be someone who actually knows about this...?

Well, that's all I wanted to ask, sorry for bothering (and sorry if there's something that is not understandable, I'll try to explain better next time). --Wesley777i 21:38, May 19, 2016 (UTC)

You should take this question to Cqm's talkpage, Grunny no longer edits any wiki's on Wikia now, as he is focused primarily as an engineer. --Sajuuk 19:27, May 22, 2016 (UTC)
As it happens there is indeed spanish support for the script, so you don't need to worry about that aspect.
However, in answer to the general question, ReferencePopups translations are at the top of the relevant script. It's simply a matter of translating the english text to the required language and adding it to the configuration. If you're confident making the changes you can do so, but if not you can add them to the talk page and someone will come along and add them in for you cqm 11:21, 23 May 2016 (UTC)
How didn't I notice he was no longer here...? I'm sorry. And thank you for answering. If I understood correctly, I have to do nothing here regarding the ReferencePopups, right? --Wesley777i 00:14, May 26, 2016 (UTC)
Nope, just import it to your wiki and go :) cqm 14:12, 26 May 2016 (UTC)


I'm writing to suggest some changes to the AjaxUndo extension:

  • Replace the undo link with the AjaxUndo function, while holding the shift key / control key can access the original function.
  • After AjaxUndo-ing, the page refreshes.

Thanks! yhynerson1talk 12:14, August 3, 2016 (UTC)


Hi! I used your code that you made on the Harry Potter Wiki and made a script here! I used it on my wiki for a very long time so I decided to share it with everyone. Feel free to double check it! leviathan_89 20:20, October 7, 2016 (UTC)

Dear Grunny,

I really want a Discord Integration on my Wikia. But I heard that I need to contact an Admin (like you).

I really want to notice you that I already sended this to the contact form, but never recived a message again!

I hope that this will be fixed and that my javascript finally will be enabled.

Rienknr1 (talk) 13:05, September 6, 2017 (UTC)


A question


I have made a script for a new edit dropdown item that allows one to add a new section to article pages (much like talk pages). However, the script is a lightly modified version of your EditIntroButton. My question is; would you be okay with it if I made the script a freely usable script on this wiki like all the others (i.e. create a page for it with info and imports and a code.js MediaWiki page)?

Because you originally made the script I based mine on, it would more than likely be copyright violating (even if it's not copyrighted, I'd still be using a huge portion of your hard work without permission) as well as very disrespectful to publish a script based on your code without permission. I'll credit you for the EditIntroButton code and also inform the readers that I didn't write it by myself and merely changed a few things to an existing code (much like how FollowDropdown was a modified version of WhatLinksHere).

The code can be found here.

Best regards,


16:50, March 25, 2018 (UTC)

I'm not Grunny, but I'm pretty sure he'd be alright with you publishing the script here. All content published to FANDOM is CC-BY-SA meaning it can be freely copied and reused. Also, most scripts here use a lot of code from other scripts, so it probably wouldn't be the first time someone else's code has been published in another script. The best thing you can do is link Grunny's original script in the infobox and note that it was the original and your's is a fork. Original Authority (talk) 16:59, March 25, 2018 (UTC)
Yeah, completely fine by me, and in general as Original Authority said, scripts here are technically licensed under CC-BY-SA as all contributions to FANDOM are, so you're free to copy them anyone's JS providing you provide attribution to the original author. Cheers, grunny:~$ 15:12, March 27, 2018 (UTC)

I Wish to Moderate Discussions.

May I please be a global discussions moderator? digit0 19:45, December 11, 2018 (UTC)

Hello, Fandom Developers Wiki is not a place for applying for global Discussions moderation, nor does Grunny have control over who becomes a global Discussions moderator. If you wish to become one, you should probably contact Staff regarding it. -- Cube-shaped garbage can 21:08, December 11, 2018 (UTC)

Check UCP

Check your thing about UCP compatibility!--*Lac*() 04:22, September 2, 2020 (UTC)