Italic title
63,552pages on
this wiki
this wiki
Forum page
Wikia's forums are a place for the community to help other members.
To contact staff directly or to report bugs, please use Special:Contact.
To contact staff directly or to report bugs, please use Special:Contact.
Note: This topic has been unedited for 1083 days. It is considered archived - the discussion is over. Do not add to unless it really needs a response.
Sorry to be spamming the help forum with questions, and I appreciate everyone's help, but I was wondering if someone can help me with MediaWiki code stuff.
Common binomial names are technically always supposed to be italicized. I noticed that Wikipedia has this feature as a template, and I copied this template to the wiki I work at. However, I believe that you have to add a certain code to the MediaWiki software in order for JavaScript to render the title properly in italics. I was wondering if anyone could tell me exactly what kind of code I need to put in order to render the template useable. Thanks, -- Meghunter99Talk to me! 15:58, 5 June 2009 (UTC)
- The JS they use is:
/** "Technical restrictions" title fix *****************************************
*
* Description: For pages that have something like Template:Wrongtitle, replace
* the title, but only if it is cut-and-pasteable as a valid
* wikilink. For instance, "NZR WB class" can be changed to
* "NZR W<sup>B</sup> class", but [[C#]] is not an equivalent wikilink,
* so [[C Sharp]] doesn't have its main title changed.
*
* The function looks for a banner like this:
* <div id="RealTitleBanner"> ... <span id="RealTitle">title</span> ... </div>
* Maintainers: Remember_the_dot
*/
if (wgAction == "view") //prevents "Editing " from disappearing during preview
{
addOnloadHook(function()
{
var realTitle = document.getElementById("RealTitle")
if (realTitle)
{
//normalizes a title or a namespace name (but not both)
//trims leading and trailing underscores and converts (possibly multiple) spaces and underscores to single underscores
function normalizeTitle(title)
{
return title.replace(/^_+/, "").replace(/_+$/, "").replace(/[\s_]+/g, "_")
}
if (realTitle.textContent) //everyone but IE
{
var realTitleText = realTitle.textContent
}
else //IE
{
var realTitleText = realTitle.innerText
}
var normalizedRealTitle
var normalizedPageTitle
var indexOfColon = realTitleText.indexOf(":")
var normalizedNamespaceName = normalizeTitle(realTitleText.substring(0, indexOfColon)).toLowerCase()
//make namespace prefix lowercase and uppercase the first letter of the title
if (indexOfColon == -1 || wgCanonicalNamespace.toLowerCase() != normalizedNamespaceName) //no namespace prefix - either no colon or a nonsensical namespace prefix (for example, "Foo" in "Foo: The Story of My Life")
{
normalizedRealTitle = normalizeTitle(realTitleText)
normalizedRealTitle = normalizedRealTitle.charAt(0).toUpperCase() + normalizedRealTitle.substring(1)
normalizedPageTitle = wgPageName.charAt(0).toUpperCase() + wgPageName.substring(1)
}
else //using a namespace prefix
{
var normalizedRealPageTitle = normalizeTitle(realTitleText.substring(indexOfColon + 1))
normalizedRealTitle = normalizedNamespaceName
if (normalizedNamespaceName != "") //namespace 0 is a special case where the leading colon should never be shown
{
normalizedRealTitle += ":"
}
normalizedRealTitle += normalizedRealPageTitle.charAt(0).toUpperCase() + normalizedRealPageTitle.substring(1)
normalizedPageTitle = wgPageName.substring(0, wgPageName.indexOf(":") + 1).toLowerCase() + wgPageName.substring(wgPageName.indexOf(":") + 1)
}
if (normalizedRealTitle == normalizedPageTitle) //normalized titles match, so we can do full replacement
{
var h1 = document.getElementsByTagName("h1")[0]
//remove all child nodes, including text
while (h1.firstChild)
{
h1.removeChild(h1.firstChild)
}
//populate with nodes of real title
while (realTitle.firstChild) //the children are moved to a new parent element
{
h1.appendChild(realTitle.firstChild)
}
//correct the page title
document.title = realTitleText + " - Wikipedia, the free encyclopedia"
//delete the real title banner since the problem is solved
var realTitleBanner = document.getElementById("RealTitleBanner")
if (realTitleBanner) realTitleBanner.parentNode.removeChild(realTitleBanner)
}
}
})
}
- -- 16:06, 05 June 2009 (UTC)
- I put the code into the wiki's MediaWiki:Common.js, and I cleared the cache, but it still doesn't seem to be rendering properly. I put the template {{italictitle}} onto this page, but it still doesn't render the same as the same page on Wikipedia.
- The JS is working properly what is not working properly is the template as the template relies on other templates to work properly you can see what templates it uses by checking your template in fossil at the bottom vs wikipedias complete list that includes the omes used by the documentation templates -- 09:08, 06 June 2009 (UTC)
- I put the code into the wiki's MediaWiki:Common.js, and I cleared the cache, but it still doesn't seem to be rendering properly. I put the template {{italictitle}} onto this page, but it still doesn't render the same as the same page on Wikipedia.
- Thanks, I managed to get it to work! --Meghunter99Talk to me! 10:34, 6 June 2009 (UTC)
- YW =D -- 15:14, 06 June 2009 (UTC)
- Thanks, I managed to get it to work! --Meghunter99Talk to me! 10:34, 6 June 2009 (UTC)